<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<topic id="topic3">
  <title>Configuration Parameters</title>
  <abstract>Descriptions of the Greenplum Database server configuration parameters listed
    alphabetically.</abstract>
  <body>
    <!--Table is PDF only-->
    <simpletable frame="all" relcolwidth="1.0* 1.09* 1.13*" id="simpletable_c53_rlx_wp"
      otherprops="op-print">
      <strow>
        <stentry>
          <ul id="ul_tc3_nlx_wp">
            <li>
              <xref href="#application_name"/>
            </li>
            <li>
              <xref href="#array_nulls"/>
            </li>
            <li>
              <xref href="#authentication_timeout"/>
            </li>
            <li>
              <xref href="#backslash_quote"/>
            </li>
            <li>
              <xref href="#block_size"/>
            </li>
            <li>
              <xref href="#bonjour_name"/>
            </li>
            <li>
              <xref href="#check_function_bodies"/>
            </li>
            <li>
              <xref href="#client_connection_check_interval"/>
            </li>
            <li>
              <xref href="#client_encoding"/>
            </li>
            <li>
              <xref href="#client_min_messages"/>
            </li>
            <li>
              <xref href="#cpu_index_tuple_cost"/>
            </li>
            <li>
              <xref href="#cpu_operator_cost"/>
            </li>
            <li>
              <xref href="#cpu_tuple_cost"/>
            </li>
            <li>
              <xref href="#cursor_tuple_fraction"/>
            </li>
            <li><xref href="#data_checksums" format="dita"/></li>
            <li>
              <xref href="#DateStyle"/>
            </li>
            <li>
              <xref href="#db_user_namespace"/>
            </li>
            <li>
              <xref href="#deadlock_timeout"/>
            </li>
            <li>
              <xref href="#debug_assertions"/>
            </li>
            <li>
              <xref href="#debug_pretty_print"/>
            </li>
            <li>
              <xref href="#debug_print_parse"/>
            </li>
            <li>
              <xref href="#debug_print_plan"/>
            </li>
            <li>
              <xref href="#debug_print_prelim_plan"/>
            </li>
            <li>
              <xref href="#debug_print_rewritten"/>
            </li>
            <li>
              <xref href="#debug_print_slice_table"/>
            </li>
            <li>
              <xref href="#default_statistics_target"/>
            </li>
            <li>
              <xref href="#default_tablespace"/>
            </li>
            <li><xref href="#default_text_search_config" format="dita"/></li>
            <li>
              <xref href="#default_transaction_deferrable"/>
            </li>
            <li>
              <xref href="#default_transaction_isolation"/>
            </li>
            <li>
              <xref href="#default_transaction_read_only"/>
            </li>
            <li>
              <xref href="#dtx_phase2_retry_count"/>
            </li>
            <li>
              <xref href="#dynamic_library_path"/>
            </li>
            <li>
              <xref href="#effective_cache_size"/>
            </li>
            <li>
              <xref href="#enable_bitmapscan"/>
            </li>
            <li>
              <xref href="#enable_groupagg"/>
            </li>
            <li>
              <xref href="#enable_hashagg"/>
            </li>
            <li>
              <xref href="#enable_hashjoin"/>
            </li>
            <li>
              <xref href="#enable_implicit_timeformat_YYYYMMDDHH24MISS"/>
            </li>
            <li>
              <xref href="#enable_indexscan"/>
            </li>
            <li>
              <xref href="#enable_mergejoin"/>
            </li>
            <li>
              <xref href="#enable_nestloop"/>
            </li>
            <li>
              <xref href="#enable_seqscan"/>
            </li>
            <li>
              <xref href="#enable_sort"/>
            </li>
            <li>
              <xref href="#enable_tidscan"/>
            </li>
            <li>
              <xref href="#escape_string_warning"/>
            </li>
            <li>
              <xref href="#explain_pretty_print"/>
            </li>
            <li>
              <xref href="#extra_float_digits"/>
            </li>
            <li>
              <xref href="#from_collapse_limit"/>
            </li>
            <li><xref href="#gp_add_column_inherits_table_setting"/>
            </li>
            <li>
              <xref href="#gp_adjust_selectivity_for_outerjoins"/>
            </li>
            <li>
              <xref href="#gp_appendonly_compaction"/>
            </li>
            <li>
              <xref href="#gp_appendonly_compaction_threshold"/>
            </li>
            <li>
              <xref href="#gp_autostats_allow_nonowner"/>
            </li>
            <li>
              <xref href="#gp_autostats_mode"/>
            </li>
            <li>
              <xref href="#gp_autostats_mode_in_functions" type="section"
                >gp_autostats_mode_in_functions</xref>
            </li>
            <li>
              <xref href="#gp_autostats_on_change_threshold"/>
            </li>
            <li>
              <xref href="#gp_cached_segworkers_threshold"/>
            </li>
            <li>
              <xref href="#gp_command_count"/>
            </li>
            <li>
              <xref href="#gp_connection_send_timeout"/>
            </li>
            <li>
              <xref href="#gp_content"/>
            </li>
            <li>
              <xref href="#gp_create_table_random_default_distribution"/>
            </li>
            <li>
              <xref href="#gp_dbid"/>
            </li>
            <li>
              <xref href="#gp_debug_linger"/>
            </li>
            <li>
              <xref href="#gp_default_storage_options"/>
            </li>
            <li>
              <xref href="#gp_dispatch_keepalives_count"/>
            </li>
            <li>
              <xref href="#gp_dispatch_keepalives_idle"/>
            </li>
            <li>
              <xref href="#gp_dispatch_keepalives_interval"/>
            </li>
            <li>
              <xref href="#gp_dynamic_partition_pruning"/>
            </li>
            <li>
              <xref href="#gp_enable_agg_distinct"/>
            </li>
            <li>
              <xref href="#gp_enable_agg_distinct_pruning"/>
            </li>
            <li>
              <xref href="#gp_enable_direct_dispatch"/>
            </li>
            <li>
              <xref href="#gp_enable_exchange_default_partition"
                >gp_enable_exchange_default_partition</xref>
            </li>
            <li>
              <xref href="#gp_enable_fast_sri"/>
            </li>
            <li><xref href="#gp_enable_global_deadlock_detector"/></li>
            <li>
              <xref href="#gp_enable_gpperfmon"/>
            </li>
            <li>
              <xref href="#gp_enable_groupext_distinct_gather"/>
            </li>
            <li>
              <xref href="#gp_enable_groupext_distinct_pruning"/>
            </li>
            <li>
              <xref href="#gp_enable_multiphase_agg"/>
            </li>
            <li>
              <xref href="#gp_enable_predicate_propagation"/>
            </li>
            <li>
              <xref href="#gp_enable_preunique"/>
            </li>
            <li>
              <xref href="#gp_enable_query_metrics"/>
            </li>
            <li>
              <xref href="#gp_enable_relsize_collection" format="dita"/></li>
            <li>
              <xref href="#gp_enable_segment_copy_checking" format="dita"/></li>
            <li>
              <xref href="#gp_enable_sort_distinct"/>
            </li>
            <li>
              <xref href="#gp_enable_sort_limit"/>
            </li>
            <li>
              <xref href="#gp_external_enable_exec"/>
            </li>
            <li>
              <xref href="#gp_external_max_segs"/>
            </li>
            <li>
              <xref href="#gp_external_enable_filter_pushdown"/>
            </li>
            <li>
              <xref href="#gp_fts_probe_interval"/>
            </li>
            <li>
              <xref href="#gp_fts_probe_retries"/>
            </li>
            <li>
              <xref href="#gp_fts_probe_timeout"/>
            </li>
            <li>
              <xref href="#gp_fts_replication_attempt_count"/>
            </li>
            <li>
              <xref href="#gp_global_deadlock_detector_period"/>
            </li>
            <li>
              <xref href="#gp_gpperfmon_send_interval"/>
            </li>
            <li>
              <xref href="#gp_hashjoin_tuples_per_bucket"/>
            </li>
            <li><xref href="#gp_resgroup_memory_policy"/></li>
            <li><xref href="#gp_resource_group_bypass"/></li>
            <li><xref href="#gp_resource_group_cpu_ceiling_enforcement"/></li>
            <li><xref href="#gp_resource_group_cpu_limit"/></li>
            <li><xref href="#gp_resource_group_memory_limit"/></li>
            <li><xref href="#gp_resource_group_queuing_timeout"/></li>
            <li><xref href="#gp_resource_group_move_timeout"/></li>
            <li>
              <xref href="#gp_resource_manager"/>
            </li>
            <li><xref href="#gp_retrieve_conn"/></li>
            <li>
              <xref href="#gp_use_legacy_hashops"/></li>
            <li><xref href="#gp_vmem_idle_resource_timeout"/></li>
            <li><xref href="#gp_vmem_protect_limit"/></li>
            <li><xref href="#gp_vmem_protect_segworker_cache_limit"/></li>
            <li><xref href="#gp_workfile_compression"/></li>
            <li><xref href="#gp_workfile_limit_files_per_query"/></li>
            <li><xref href="#gp_workfile_limit_per_query"/></li>
            <li><xref href="#gp_workfile_limit_per_segment"/></li>
            <li><xref href="#gpfdist_retry_timeout" type="section">gpfdist_retry_timeout</xref>
            </li>
            <li>
              <xref href="#gpperfmon_log_alert_level"/>
            </li>
            <li>
              <xref href="#gpperfmon_port"/>
            </li>
            <li><xref href="#ignore_checksum_failure" format="dita"/></li>
            <li>
              <xref href="#integer_datetimes"/>
            </li>
            <li>
              <xref href="#IntervalStyle"/>
            </li>
            <li>
              <xref href="#join_collapse_limit"/>
            </li>
            <li>
              <xref href="#krb_caseins_users"/>
            </li>
            <li>
              <xref href="#krb_server_keyfile"/>
            </li>
            <li>
              <xref href="#lc_collate"/>
            </li>
            <li>
              <xref href="#lc_ctype"/>
            </li>
            <li>
              <xref href="#lc_messages"/>
            </li>
            <li>
              <xref href="#lc_monetary"/>
            </li>
            <li>
              <xref href="#lc_numeric"/>
            </li>
            <li>
              <xref href="#lc_time"/>
            </li>
          </ul>
        </stentry>
        <stentry>
          <ul id="ul_wwy_bmx_wp">
            <li>
              <xref href="#listen_addresses"/>
            </li>
            <li>
              <xref href="#log_file_mode"/>
            </li>
            <li>
              <xref href="#log_planner_stats"/>
            </li>
            <li>
              <xref href="#log_rotation_age"/>
            </li>
            <li>
              <xref href="#log_rotation_size"/>
            </li>
            <li>
              <xref href="#log_statement"/>
            </li>
            <li>
              <xref href="#log_statement_stats"/>
            </li>
            <li>
              <xref href="#log_temp_files"/>
            </li>
            <li>
              <xref href="#log_timezone"/>
            </li>
            <li>
              <xref href="#log_truncate_on_rotation"/>
            </li>
            <li><xref href="#maintenance_work_mem" format="dita"/></li>
            <li>
              <xref href="#max_appendonly_tables"/>
            </li>
            <li>
              <xref href="#max_connections"/>
            </li>
            <li>
              <xref href="#max_files_per_process"/>
            </li>
            <li>
              <xref href="#max_function_args"/>
            </li>
            <li>
              <xref href="#max_identifier_length"/>
            </li>
            <li>
              <xref href="#max_index_keys"/>
            </li>
            <li>
              <xref href="#max_locks_per_transaction"/>
            </li>
            <li>
              <xref href="#max_prepared_transactions"/>
            </li>
            <li>
              <xref href="#max_resource_portals_per_transaction"/>
            </li>
            <li>
              <xref href="#max_resource_queues"/>
            </li>
            <li>
              <xref href="#max_slot_wal_keep_size"/></li>
            <li>
              <xref href="#max_stack_depth"/>
            </li>
            <li>
              <xref href="#max_statement_mem"/>
            </li>
            <li>
              <xref href="#memory_spill_ratio"/>
            </li>
            <li>
              <xref href="#optimizer" type="section">optimizer</xref>
            </li>
            <li><xref href="#optimizer_array_expansion_threshold" type="section"
                >optimizer_array_expansion_threshold</xref></li>
            <li>
              <xref href="#optimizer_analyze_root_partition" type="section"
                >optimizer_analyze_root_partition</xref>
            </li>
            <li>
              <xref href="#optimizer_control" type="section">optimizer_control</xref>
            </li>
            <li>
              <xref href="#optimizer_cost_model" type="section">optimizer_cost_model</xref>
            </li>
            <li>
              <xref href="#optimizer_cte_inlining_bound" type="section"
                >optimizer_cte_inlining_bound</xref>
            </li>
            <li>
              <xref href="#optimizer_dpe_stats" type="section"
                >optimizer_dpe_stats</xref>
            </li>
            <li><xref href="#optimizer_enable_associativity" type="section"
                >optimizer_enable_associativity</xref>
            </li>
            <li><xref href="#optimizer_enable_dml" type="section">optimizer_enable_dml</xref>
            </li>
            <li><xref href="#optimizer_enable_indexonlyscan" type="section">optimizer_enable_indexonlyscan</xref>
            </li>
            <li>
              <xref href="#optimizer_enable_master_only_queries" type="section"
                >optimizer_enable_master_only_queries</xref>
            </li>
            <li>
              <xref href="#optimizer_enable_multiple_distinct_aggs" type="section"
                >optimizer_enable_multiple_distinct_aggs</xref>
            </li>
            <li><xref href="#optimizer_enable_orderedagg" type="section"
                >optimizer_enable_orderedagg</xref></li>
            <li>
              <xref href="#optimizer_force_comprehensive_join_implementation" type="section"
                >optimizer_force_comprehensive_join_implementation</xref>
            </li>
            <li>
              <xref href="#optimizer_force_multistage_agg" type="section"
                >optimizer_force_multistage_agg</xref>
            </li>
            <li>
              <xref href="#optimizer_force_three_stage_scalar_dqa" type="section"
                >optimizer_force_three_stage_scalar_dqa</xref>
            </li>
            <li><xref href="#optimizer_join_arity_for_associativity_commutativity" type="section"
                >optimizer_join_arity_for_associativity_commutativity</xref>
            </li>
            <li>
              <xref href="#optimizer_join_order" type="section">optimizer_join_order</xref>
            </li>
            <li>
              <xref href="#optimizer_join_order_threshold" type="section"
                >optimizer_join_order_threshold</xref>
            </li>
            <li>
              <xref href="#optimizer_mdcache_size" type="section"/>
            </li>
            <li>
              <xref href="#optimizer_metadata_caching" type="section"/>
            </li>
            <li>
              <xref href="#optimizer_minidump" type="section">optimizer_minidump</xref>
            </li>
            <li>
              <xref href="#optimizer_nestloop_factor" type="section"
                >optimizer_nestloop_factor</xref>
            </li>
            <li>
              <xref href="#optimizer_parallel_union" type="section"
              >optimizer_parallel_union</xref></li>
            <li><xref href="#optimizer_penalize_skew" type="section"
              >optimizer_penalize_skew</xref></li>
            <li>
              <xref href="#optimizer_print_missing_stats" type="section"
                >optimizer_print_missing_stats</xref>
            </li>
            <li>
              <xref href="#optimizer_print_optimization_stats" type="section"
                >optimizer_print_optimization_stats</xref>
            </li>
            <li>
              <xref href="#optimizer_sort_factor" format="dita">optimizer_sort_factor</xref></li>
            <li>
              <xref href="#optimizer_use_gpdb_allocators" format="dita"
                >optimizer_use_gpdb_allocators</xref></li>
            <li>
              <xref href="#optimizer_xform_bind_threshold" format="dita"
                >optimizer_xform_bind_threshold</xref></li>
            <li>
              <p>
                <xref href="#plan_cache_mode"/></p>
            </li>
            <li>
              <xref href="#password_encryption"/>
            </li>
            <li>
              <xref href="#password_hash_algorithm"/>
            </li>
            <li>
              <xref href="#pljava_classpath"/>
            </li>
            <li>
              <xref href="#pljava_classpath_insecure"/>
            </li>
            <li>
              <xref href="#pljava_statement_cache_size"/>
            </li>
            <li>
              <xref href="#pljava_release_lingering_savepoints"/>
            </li>
            <li>
              <xref href="#pljava_vmoptions"/>
            </li>
            <li>
              <xref href="#port"/>
            </li>
            <li>
              <xref href="#quote_all_identifiers"/>
            </li>
            <li>
              <xref href="#random_page_cost"/>
            </li>
            <li>
              <xref href="#readable_external_table_timeout"/>
            </li>
            <li>
              <xref href="#repl_catchup_within_range"/>
            </li>
            <li>
              <xref href="#replication_timeout"/>
            </li>
            <li>
              <xref href="#regex_flavor"/>
            </li>
            <li>
              <xref href="#resource_cleanup_gangs_on_wait"/>
            </li>
            <li>
              <xref href="#resource_select_only"/>
            </li>
            <li>
              <xref href="#runaway_detector_activation_percent"/>
            </li>
            <li>
              <xref href="#search_path"/>
            </li>
            <li>
              <xref href="#seq_page_cost"/>
            </li>
            <li>
              <xref href="#server_encoding"/>
            </li>
            <li>
              <xref href="#server_version"/>
            </li>
            <li>
              <xref href="#server_version_num"/>
            </li>
            <li>
              <xref href="#shared_buffers"/>
            </li>
            <li>
              <xref href="#shared_preload_libraries"/>
            </li>
            <li>
              <xref href="#ssl"/>
            </li>
            <li>
              <xref href="#ssl_ciphers"/>
            </li>
            <li>
              <xref href="#standard_conforming_strings"/>
            </li>
            <li>
              <xref href="#statement_mem"/>
            </li>
            <li>
              <xref href="#statement_timeout"/>
            </li>
            <li>
              <xref href="#stats_queue_level"/>
            </li>
            <li>
              <xref href="#superuser_reserved_connections"/></li>
            <li>
              <xref href="#tcp_keepalives_count"/>
            </li>
            <li>
              <xref href="#tcp_keepalives_idle"/>
            </li>
            <li>
              <xref href="#tcp_keepalives_interval"/>
            </li>
            <li>
              <xref href="#temp_buffers"/>
            </li>
            <li><xref href="#topic_k52_fqm_f3b" format="dita"/>
            </li>
            <li>
              <xref href="#TimeZone"/>
            </li>
            <li>
              <xref href="#timezone_abbreviations"/>
            </li>
            <li>
              <xref href="#track_activity_query_size"/>
            </li>
            <li>
              <xref href="#track_activities"/>
            </li>
            <li>
              <xref href="#track_counts"/>
            </li>
            <li>
              <xref href="#transaction_isolation"/>
            </li>
            <li>
              <xref href="#transaction_read_only"/>
            </li>
            <li>
              <xref href="#transform_null_equals"/>
            </li>
            <li>
              <xref href="#unix_socket_directory"/>
            </li>
            <li>
              <xref href="#unix_socket_group"/>
            </li>
            <li>
              <xref href="#unix_socket_permissions"/>
            </li>
            <li>
              <xref href="#update_process_title"/>
            </li>
            <li>
              <xref href="#vacuum_cost_delay"/>
            </li>
            <li>
              <xref href="#vacuum_cost_limit"/>
            </li>
            <li>
              <xref href="#vacuum_cost_page_dirty"/>
            </li>
            <li>
              <xref href="#vacuum_cost_page_hit"/>
            </li>
            <li>
              <xref href="#vacuum_cost_page_miss"/>
            </li>
            <li>
              <xref href="#vacuum_freeze_min_age"/>
            </li>
            <li>
              <xref href="#validate_previous_free_tid"/>
            </li>
            <li><xref href="#verify_gpfdists_cert"/></li>
            <li><xref href="#vmem_process_interrupt" type="section"
              >vmem_process_interrupt</xref></li>
            <li>
              <xref href="#wait_for_replication_threshold"/>
            </li>
            <li>
              <xref href="#wal_keep_segments"/>
            </li>
            <li>
              <xref href="#wal_receiver_status_interval"/>
            </li>
            <li><xref href="#writable_external_table_bufsize" type="section"
                >writable_external_table_bufsize</xref>
            </li>
            <li>
              <xref href="#xid_stop_limit"/>
            </li>
            <li>
              <xref href="#xid_warn_limit"/>
            </li>
            <li><xref href="#xmlbinary"/>
            </li>
            <li><xref href="#xmloption"/>
            </li>
          </ul>
        </stentry>
      </strow>
    </simpletable>
  </body>
  <topic id="application_name">
    <title>application_name</title>
    <body>
      <p>Sets the application name for a client session. For example, if connecting via
          <codeph>psql</codeph>, this will be set to <codeph>psql</codeph>. Setting an application
        name allows it to be reported in log messages and statistics views.</p>
      <table id="application_name_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2"/>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="array_nulls">
    <title>array_nulls</title>
    <body>
      <p>This controls whether the array input parser recognizes unquoted NULL as specifying a null
        array element. By default, this is on, allowing array values containing null values to be
        entered. <ph>Greenplum Database versions before 3.0 did not support null values in arrays,
          and therefore would treat NULL as specifying a normal array element with the string value
          'NULL'.</ph></p>
      <table id="array_nulls_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="authentication_timeout">
    <title>authentication_timeout</title>
    <body>
      <p>Maximum time to complete client authentication. This prevents hung clients from occupying a
        connection indefinitely.</p>
      <table id="authentication_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">1min</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="backslash_quote">
    <title>backslash_quote</title>
    <body>
      <p>This controls whether a quote mark can be represented by \' in a string literal. The
        preferred, SQL-standard way to represent a quote mark is by doubling it ('') but PostgreSQL
        has historically also accepted \'. However, use of \' creates security risks because in some
        client character set encodings, there are multibyte characters in which the last byte is
        numerically equivalent to ASCII \.</p>
      <table id="backslash_quote_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">on (allow \' always)<p>off (reject always)</p><p>safe_encoding
                  (allow only if client encoding does not allow ASCII \ within a multibyte
                  character)</p></entry>
              <entry colname="col2">safe_encoding</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="block_size">
    <title>block_size</title>
    <body>
      <p>Reports the size of a disk block.</p>
      <table id="block_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of bytes</entry>
              <entry colname="col2">32768</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="bonjour_name">
    <title>bonjour_name</title>
    <body>
      <p>Specifies the Bonjour broadcast name. By default, the computer name is used, specified as
        an empty string. This option is ignored if the server was not compiled with Bonjour
        support.</p>
      <table id="bonjour_name_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2">unset</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="check_function_bodies">
    <title>check_function_bodies</title>
    <body>
      <p>When set to off, disables validation of the function body string during <codeph>CREATE
          FUNCTION</codeph>. Disabling validation is occasionally useful to avoid problems such as
        forward references when restoring function definitions from a dump.</p>
      <table id="check_function_bodies_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="client_connection_check_interval">
      <title>client_connection_check_interval</title>
    <body>
      <p>Sets the time interval between optional checks that the client is still
        connected, while running queries. 0 disables connection checks. </p>
      <table id="client_connection_check_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of milliseconds</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="client_encoding">
    <title>client_encoding</title>
    <body>
      <p>Sets the client-side encoding (character set). The default is to use the same as the
        database encoding. See <xref
          href="https://www.postgresql.org/docs/9.4/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED"
          scope="external" format="html">Supported Character Sets</xref> in the PostgreSQL
        documentation.</p>
      <table id="client_encoding_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">character set</entry>
              <entry colname="col2">UTF8</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="client_min_messages">
    <title>client_min_messages</title>
    <body>
      <p>Controls which message levels are sent to the client. Each level includes all the levels
        that follow it. The later the level, the fewer messages are sent.</p>
      <table id="client_min_messages_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">DEBUG5
                  <p>DEBUG4</p><p>DEBUG3</p><p>DEBUG2</p><p>DEBUG1</p><p>LOG</p><p>NOTICE</p><p>WARNING</p><p>ERROR</p><p>FATAL</p><p>PANIC</p></entry>
              <entry colname="col2">NOTICE</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <p><codeph>INFO</codeph> level messages are always sent to the client.</p>
    </body>
  </topic>
  <topic id="cpu_index_tuple_cost">
    <title>cpu_index_tuple_cost</title>
    <body>
      <p>For the Postgres Planner, sets the estimate of the cost of processing each
        index row during an index scan. This is measured as a fraction of the cost of a sequential
        page fetch.</p>
      <table id="cpu_index_tuple_cost_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">0.005</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="cpu_operator_cost">
    <title>cpu_operator_cost</title>
    <body>
      <p>For the Postgres Planner, sets the estimate of the cost of processing each
        operator in a WHERE clause. This is measured as a fraction of the cost of a sequential page
        fetch. </p>
      <table id="cpu_operator_cost_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">0.0025</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="cpu_tuple_cost">
    <title>cpu_tuple_cost</title>
    <body>
      <p>For the Postgres Planner, Sets the estimate of the cost of processing each
        row during a query. This is measured as a fraction of the cost of a sequential page
        fetch.</p>
      <table id="cpu_tuple_cost_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">0.01</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="cursor_tuple_fraction">
    <title>cursor_tuple_fraction</title>
    <body>
      <p>Tells the Postgres Planner how many rows are expected to be fetched in a
        cursor query, thereby allowing the Postgres Planner to use this information to optimize the
        query plan. The default of 1 means all rows will be fetched. </p>
      <table id="cursor_tuple_fraction_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="data_checksums">
    <title>data_checksums</title>
    <body>
      <p>Reports whether checksums are enabled for heap data storage in the database system.
        Checksums for heap data are enabled or disabled when the database system is initialized and
        cannot be changed. </p>
      <p>Heap data pages store heap tables, catalog tables, indexes, and database metadata.
        Append-optimized storage has built-in checksum support that is unrelated to this
        parameter.</p>
      <p>Greenplum Database uses checksums to prevent loading data corrupted in the file system into
        memory managed by database processes. When heap data checksums are enabled, Greenplum
        Database computes and stores checksums on heap data pages when they are written to disk.
        When a page is retrieved from disk, the checksum is verified. If the verification fails, an
        error is generated and the page is not permitted to load into managed memory. </p>
      <p>If the <codeph>ignore_checksum_failure</codeph> configuration parameter has been set to on,
        a failed checksum verification generates a warning, but the page is allowed to be loaded
        into managed memory. If the page is then updated, it is flushed to disk and replicated to
        the mirror. This can cause data corruption to propagate to the mirror and prevent a complete
        recovery. Because of the potential for data loss, the
          <codeph>ignore_checksum_failure</codeph> parameter should only be enabled when needed to
        recover data. See <xref href="#ignore_checksum_failure" format="dita"/> for more
        information.</p>
      <table id="table_djn_1nb_v1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="DateStyle">
    <title>DateStyle</title>
    <body>
      <p>Sets the display format for date and time values, as well as the rules for interpreting
        ambiguous date input values. This variable contains two independent components: the output
        format specification and the input/output specification for year/month/day ordering.</p>
      <table id="DateStyle_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;format&gt;, &lt;date style&gt;<p>where:</p><p>&lt;format&gt;
                  is ISO, Postgres, SQL, or German</p><p>&lt;date style&gt; is DMY, MDY, or
                YMD</p></entry>
              <entry colname="col2">ISO, MDY</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="db_user_namespace">
    <title>db_user_namespace</title>
    <body>
      <p>This enables per-database user names. If on, you should create users as
          <i>username@dbname</i>. To create ordinary global users, simply append @ when specifying
        the user name in the client.</p>
      <table id="db_user_namespace_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="deadlock_timeout">
    <title>deadlock_timeout</title>
    <body>
      <p>The time to wait on a lock before checking to see if there is a deadlock condition. On a
        heavily loaded server you might want to raise this value. Ideally the setting should exceed
        your typical transaction time, so as to improve the odds that a lock will be released before
        the waiter decides to check for deadlock.</p>
      <table id="deadlock_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">1s</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_assertions">
    <title>debug_assertions</title>
    <body>
      <p>Turns on various assertion checks.</p>
      <table id="debug_assertions_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_pretty_print">
    <title>debug_pretty_print</title>
    <body>
      <p>Indents debug output to produce a more readable but much longer output format.
          <i>client_min_messages</i> or <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_pretty_print_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_print_parse">
    <title>debug_print_parse</title>
    <body>
      <p>For each query run, prints the resulting parse tree. <i>client_min_messages</i> or
          <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_print_parse_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_print_plan">
    <title>debug_print_plan</title>
    <body>
      <p>For each query run, prints the Greenplum parallel query execution plan.
          <i>client_min_messages</i> or <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_print_plan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_print_prelim_plan">
    <title>debug_print_prelim_plan</title>
    <body>
      <p>For each query run, prints the preliminary query plan. <i>client_min_messages</i> or
          <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_print_prelim_plan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_print_rewritten">
    <title>debug_print_rewritten</title>
    <body>
      <p>For each query run, prints the query rewriter output. <i>client_min_messages</i> or
          <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_print_rewritten_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="debug_print_slice_table">
    <title>debug_print_slice_table</title>
    <body>
      <p>For each query run, prints the Greenplum query slice plan. <i>client_min_messages</i>
        or <i>log_min_messages</i> must be DEBUG1 or lower.</p>
      <table id="debug_print_slice_table_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="default_statistics_target">
    <title>default_statistics_target</title>
    <body>
      <p>Sets the default statistics sampling target (the number of values that are stored in the
        list of common values) for table columns that have not had a column-specific target set via
          <codeph>ALTER TABLE SET STATISTICS</codeph>. Larger values may improve the quality of the
        Postgres Planner estimates. </p>
      <table id="default_statistics_target_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"> 0 > Integer > 10000</entry>
              <entry colname="col2">100</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="default_tablespace">
    <title>default_tablespace</title>
    <body>
      <p>The default tablespace in which to create objects (tables and indexes) when a
          <codeph>CREATE</codeph> command does not explicitly specify a tablespace.</p>
      <table id="default_tablespace_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">name of a tablespace</entry>
              <entry colname="col2">unset</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="default_text_search_config">
    <title>default_text_search_config</title>
    <body>
      <p>Selects the text search configuration that is used by those variants of the text search
        functions that do not have an explicit argument specifying the configuration. See <xref
          href="../../admin_guide/textsearch/full-text-search.html#full-text-search" scope="external"
          format="html">Using Full Text Search</xref> for further
        information. The built-in default is <codeph>pg_catalog.simple</codeph>, but
          <codeph>initdb</codeph> will initialize the configuration file with a setting that
        corresponds to the chosen <codeph>lc_ctype</codeph> locale, if a configuration matching that
        locale can be identified.</p>
      <table id="table_enc_3mb_lfb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">The name of a text search configuration.</entry>
              <entry colname="col2"><codeph>pg_catalog.simple</codeph></entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="default_transaction_deferrable">
    <title>default_transaction_deferrable</title>
    <body>
      <p>When running at the <codeph>SERIALIZABLE</codeph> isolation level, a deferrable read-only
        SQL transaction may be delayed before it is allowed to proceed. However, once it begins
        running it does not incur any of the overhead required to ensure serializability; so
        serialization code will have no reason to force it to abort because of concurrent updates,
        making this option suitable for long-running read-only transactions.</p>
      <p>This parameter controls the default deferrable status of each new transaction. It currently
        has no effect on read-write transactions or those operating at isolation levels lower than
          <codeph>SERIALIZABLE</codeph>. The default is <codeph>off</codeph>.
        <note>Setting <codeph>default_transaction_deferrable</codeph> to <codeph>on</codeph> has no
          effect in Greenplum Database. Only read-only, <codeph>SERIALIZABLE</codeph> transactions
          can be deferred. However, Greenplum Database does not support the
            <codeph>SERIALIZABLE</codeph> transaction isolation level. See <xref
            href="../sql_commands/SET_TRANSACTION.xml"/>.</note></p>
      <table id="default_transaction_deferrable">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>    
    </body>
  </topic>
  <topic id="default_transaction_isolation">
    <title>default_transaction_isolation</title>
    <body>
      <p>Controls the default isolation level of each new transaction. Greenplum Database treats
          <codeph>read uncommitted</codeph> the same as <codeph>read committed</codeph>, and treats
          <codeph>serializable</codeph> the same as <codeph>repeatable read</codeph>. </p>
      <table id="default_transaction_isolation_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">read committed<p>read uncommitted</p><p>repeatable
                  read</p><p>serializable</p></entry>
              <entry colname="col2">read committed</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="default_transaction_read_only">
    <title>default_transaction_read_only</title>
    <body>
      <p>Controls the default read-only status of each new transaction. A read-only SQL transaction
        cannot alter non-temporary tables.</p>
      <table id="default_transaction_read_only_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="dtx_phase2_retry_count">
    <title>dtx_phase2_retry_count</title>
    <body>
      <p>The maximum number of retries attempted by Greenplum Database during the
        second phase of a two phase commit. When one or more segments cannot
        successfully complete the commit phase, the master retries the commit a
        maximum of <codeph>dtx_phase2_retry_count</codeph> times. If the commit
        continues to fail on the last retry attempt, the master generates a PANIC.</p>
      <p>When the network is unstable, the master may be unable to connect to one
        or more segments; increasing the number of two phase commit retries may
        improve high availability of Greenplum when the master encounters
        transient network issues.</p>
      <table id="dtx_phase2_retry_count_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - <codeph>INT_MAX</codeph></entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="dynamic_library_path">
    <title>dynamic_library_path</title>
    <body>
      <p>If a dynamically loadable module needs to be opened and the file name specified in the
          <codeph>CREATE FUNCTION</codeph> or <codeph>LOAD</codeph> command does not have a
        directory component (i.e. the name does not contain a slash), the system will search this
        path for the required file. The compiled-in PostgreSQL package library directory is
        substituted for $libdir. This is where the modules provided by the standard PostgreSQL
        distribution are installed.</p>
      <table id="dynamic_library_path_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">a list of absolute directory paths separated by colons</entry>
              <entry colname="col2">$libdir</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="effective_cache_size">
    <title>effective_cache_size</title>
    <body>
      <p>Sets the assumption about the effective size of the disk cache that is available
        to a single query for the Postgres Planner. This is factored into estimates of the
        cost of using an index; a higher value makes it more likely index scans will be used,
        a lower value makes it more likely sequential scans will be used. When setting this
        parameter, you should consider both Greenplum Database's shared buffers and the
        portion of the kernel's disk cache that will be used for data files (though some data
        might exist in both places). Take also into account the expected number of concurrent
        queries on different tables, since they will have to share the available space. This
        parameter has no effect on the size of shared memory allocated by a Greenplum server
        instance, nor does it reserve
        kernel disk cache; it is used only for estimation purposes.</p>
      <p>Set this parameter to a number of
        <codeph><xref href="#backslash_quote">block_size</xref></codeph> blocks
        (default 32K) with no units; for example, <codeph>262144</codeph> for 8GB. You can
        also directly specify the size of the effective cache; for example,
        <codeph>'1GB'</codeph> specifies a size of 32768 blocks. The
        <codeph>gpconfig</codeph> utility and <codeph>SHOW</codeph> command display the
        effective cache size value in units such as 'GB', 'MB', or 'kB'.</p>
      <table id="effective_cache_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1 - INT_MAX <i>or</i> number and unit</entry>
              <entry colname="col2">524288 (16GB)</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_bitmapscan">
    <title>enable_bitmapscan</title>
    <body>
      <p>Enables or disables the use of bitmap-scan plan types by the Postgres Planner. Note that 
        this is different than a Bitmap Index Scan. A Bitmap Scan means that
        indexes will be dynamically converted to bitmaps in memory when appropriate, giving faster
        index performance on complex queries against very large tables. It is used when there are
        multiple predicates on different indexed columns. Each bitmap per column can be compared to
        create a final list of selected tuples.</p>
      <table id="enable_bitmapscan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_groupagg">
    <title>enable_groupagg</title>
    <body>
      <p>Enables or disables the use of group aggregation plan types by the Postgres Planner.</p>
      <table id="enable_groupagg_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_hashagg">
    <title>enable_hashagg</title>
    <body>
      <p>Enables or disables the use of hash aggregation plan types by the Postgres Planner. </p>
      <table id="enable_hashagg_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_hashjoin">
    <title>enable_hashjoin</title>
    <body>
      <p>Enables or disables the use of hash-join plan types by the Postgres Planner.</p>
      <table id="enable_hashjoin_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_implicit_timeformat_YYYYMMDDHH24MISS">
    <title>enable_implicit_timeformat_YYYYMMDDHH24MISS</title>
    <body>
      <p>Enables or disables the deprecated implicit conversion of a string with the
        <i>YYYYMMDDHH24MISS</i> timestamp format to a valid date/time type.</p>
      <p>The default value is <codeph>off</codeph>. When this parameter is set to
        <codeph>on</codeph>, Greenplum Database converts a string with the
        timestamp format <i>YYYYMMDDHH24MISS</i> into a valid date/time type. You
        may require this conversion when loading data from Greenplum Database 5.</p>
      <table id="tbl_enable_implicit_timeformat_YYYYMMDDHH24MISS">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_indexscan">
    <title>enable_indexscan</title>
    <body>
      <p>Enables or disables the use of index-scan plan types by the Postgres Planner.</p>
      <table id="enable_indexscan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_mergejoin">
    <title>enable_mergejoin</title>
    <body>
      <p>Enables or disables the use of merge-join plan types by the Postgres Planner. Merge join is based on the idea of sorting the left- and right-hand tables into
        order and then scanning them in parallel. So, both data types must be capable of being fully
        ordered, and the join operator must be one that can only succeed for pairs of values that
        fall at the 'same place' in the sort order. In practice this means that the join operator
        must behave like equality.</p>
      <table id="enable_mergejoin_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_nestloop">
    <title>enable_nestloop</title>
    <body>
      <p>Enables or disables the use of nested-loop join plans by the Postgres Planner. It's not possible to suppress nested-loop joins entirely, but turning this
        variable off discourages the Postgres Planner from using one if there are other methods
        available. </p>
      <table id="enable_nestloop_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_seqscan">
    <title>enable_seqscan</title>
    <body>
      <p>Enables or disables the use of sequential scan plan types by the Postgres Planner. It's not possible to suppress sequential scans entirely, but turning this
        variable off discourages the Postgres Planner from using one if there are other methods
        available.</p>
      <table id="enable_seqscan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_sort">
    <title>enable_sort</title>
    <body>
      <p>Enables or disables the use of explicit sort steps by the Postgres Planner.
        It's not possible to suppress explicit sorts entirely, but turning this variable off
        discourages the Postgres Planner from using one if there are other methods available.</p>
      <table id="enable_sort_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="enable_tidscan">
    <title>enable_tidscan</title>
    <body>
      <p>Enables or disables the use of tuple identifier (TID) scan plan types by the Postgres Planner.</p>
      <table id="enable_tidscan_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="escape_string_warning">
    <title>escape_string_warning</title>
    <body>
      <p>When on, a warning is issued if a backslash (\) appears in an ordinary string literal
        ('...' syntax). Escape string syntax (E'...') should be used for escapes, because in future
        versions, ordinary strings will have the SQL standard-conforming behavior of treating
        backslashes literally. </p>
      <table id="escape_string_warning_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="explain_pretty_print">
    <title>explain_pretty_print</title>
    <body>
      <p>Determines whether EXPLAIN VERBOSE uses the indented or non-indented format for displaying
        detailed query-tree dumps.</p>
      <table id="explain_pretty_print_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="extra_float_digits">
    <title>extra_float_digits</title>
    <body>
      <p>Adjusts the number of digits displayed for floating-point values, including float4, float8,
        and geometric data types. The parameter value is added to the standard number of digits. The
        value can be set as high as 3, to include partially-significant digits; this is especially
        useful for dumping float data that needs to be restored exactly. Or it can be set negative
        to suppress unwanted digits. </p>
      <table id="extra_float_digits_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer (-15 to 3)</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="from_collapse_limit">
    <title>from_collapse_limit</title>
    <body>
      <p>The Postgres Planner will merge sub-queries into upper queries if the
        resulting FROM list would have no more than this many items. Smaller values reduce planning
        time but may yield inferior query plans.</p>
      <table id="from_collapse_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1-<i>n</i></entry>
              <entry colname="col2">20</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_add_column_inherits_table_setting">
    <title>gp_add_column_inherits_table_setting</title>
    <body>
      <p>When adding a column to an append-optimized, column-oriented table with the <codeph><xref
            href="../sql_commands/ALTER_TABLE.xml">ALTER TABLE</xref></codeph> command, this
        parameter controls whether the table's data compression parameters for a column
          (<codeph>compresstype</codeph>, <codeph>compresslevel</codeph>, and
          <codeph>blocksize</codeph>) can be inherited from the table values. The default is
          <codeph>off</codeph>, the table's data compression settings are not considered when adding
        a column to the table. If the value is <codeph>on</codeph>, the table's settings are
        considered. </p>
      <p>When you create an append-optimized column-oriented table, you can set the table's data
        compression parameters <codeph>compresstype</codeph>, <codeph>compresslevel</codeph>, and
          <codeph>blocksize</codeph> for the table in the <codeph>WITH</codeph> clause. When you add
        a column, Greenplum Database sets each data compression parameter based on one of the
        following settings, in order of preference.<ol id="ol_hqk_l4w_kmb">
          <li>The data compression setting specified in the <codeph>ALTER TABLE</codeph> command
              <codeph>ENCODING</codeph> clause.</li>
          <li>If this server configuration parameter is set to <codeph>on</codeph>, the table's data
            compression setting specified in the <codeph>WITH</codeph> clause when the table was
            created. Otherwise, the table's data compression setting is ignored.</li>
          <li>The data compression setting specified in the server configuration parameter
                <codeph><xref href="#gp_default_storage_options"
              >gp_default_storage_options</xref></codeph>.</li>
          <li> The default data compression setting.</li>
        </ol></p>
      <p>You must specify <codeph>--skipvalidation</codeph> when modifying this parameter as it is a
        restricted configuration parameter. Use extreme caution when setting configuration
        parameters with this option. For
        example:<codeblock>gpconfig --skipvalidation -c gp_add_column_inherits_table_setting -v on</codeblock></p>
      <p>For information about the data storage compression parameters, see <codeph><xref
            href="../sql_commands/CREATE_TABLE.xml">CREATE TABLE</xref></codeph>.</p>
      <table id="table_nyn_wjd_lmb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_adjust_selectivity_for_outerjoins">
    <title>gp_adjust_selectivity_for_outerjoins</title>
    <body>
      <p>Enables the selectivity of NULL tests over outer joins.</p>
      <table id="gp_adjust_selectivity_for_outerjoins_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_appendonly_compaction">
    <title>gp_appendonly_compaction</title>
    <body>
      <p>Enables compacting segment files during <codeph>VACUUM</codeph> commands. When disabled,
          <codeph>VACUUM</codeph> only truncates the segment files to the EOF value, as is the
        current behavior. The administrator may want to disable compaction in high I/O load
        situations or low space situations. </p>
      <table id="gp_appendonly_compaction_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_appendonly_compaction_threshold">
    <title>gp_appendonly_compaction_threshold</title>
    <body>
      <p>Specifies the threshold ratio (as a percentage) of hidden rows to total rows that triggers
        compaction of the segment file when <cmdname>VACUUM</cmdname> is run without the
          <cmdname>FULL</cmdname> option (a lazy vacuum). If the ratio of hidden rows in a segment
        file on a segment is less than this threshold, the segment file is not compacted, and a log
        message is issued. </p>
      <table id="gp_appendonly_compaction_threshold_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer (%)</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_autostats_allow_nonowner">
    <title>gp_autostats_allow_nonowner</title>
    <body>
      <p>The <codeph>gp_autostats_allow_nonowner</codeph> server configuration parameter
        determines whether or not to allow Greenplum Database to trigger automatic statistics
        collection when a table is modified by a non-owner.</p>
      <p>The default value is <codeph>false</codeph>; Greenplum Database does not trigger
        automatic statistics collection on a table that is updated by a non-owner.</p>
      <p>When set to <codeph>true</codeph>, Greenplum Database will also trigger automatic
         statistics collection on a table when:</p>
      <ul>
        <li><codeph>gp_autostats_mode=on_change</codeph> and the table is modified by a non-owner.</li>
        <li><codeph>gp_autostats_mode=on_no_stats</codeph> and the first user to
          <codeph>INSERT</codeph> or <codeph>COPY</codeph> into the table is a non-owner.</li>
      </ul>
      <p>The <codeph>gp_autostats_allow_nonowner</codeph> configuration parameter can be
        changed only by a superuser.</p>
      <table id="gp_auto_stats_allow_nonowner_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_autostats_mode">
    <title>gp_autostats_mode</title>
    <body>
      <p>Specifies the mode for triggering automatic statistics collection with
          <codeph>ANALYZE</codeph>. The <codeph>on_no_stats</codeph> option triggers statistics
        collection for <codeph>CREATE TABLE AS SELECT</codeph>, <codeph>INSERT</codeph>, or
          <codeph>COPY</codeph> operations on any table that has no existing statistics.</p>
      <p>The <codeph>on_change</codeph> option triggers statistics collection only when the number
        of rows affected exceeds the threshold defined by
          <codeph>gp_autostats_on_change_threshold</codeph>. Operations that can trigger automatic
        statistics collection with <codeph>on_change</codeph> are:</p>
      <p>
        <codeph>CREATE TABLE AS SELECT</codeph>
      </p>
      <p>
        <codeph>UPDATE</codeph>
      </p>
      <p>
        <codeph>DELETE</codeph>
      </p>
      <p>
        <codeph>INSERT</codeph>
      </p>
      <p>
        <codeph>COPY</codeph>
      </p>
      <p>Default is <codeph>on_no_stats</codeph>. </p>
      <note>For partitioned tables, automatic statistics collection is not triggered if data is
        inserted from the top-level parent table of a partitioned table. <p>Automatic statistics
          collection is triggered if data is inserted directly in a leaf table (where the data is
          stored) of the partitioned table. Statistics are collected only on the leaf table.
        </p></note>
      <table id="gp_autostats_mode_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">none<p>on_change</p><p>on_no_stats</p></entry>
              <entry colname="col2">on_no_ stats</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_autostats_mode_in_functions">
    <title>gp_autostats_mode_in_functions</title>
    <body>
      <p>Specifies the mode for triggering automatic statistics collection with
          <codeph>ANALYZE</codeph> for statements in procedural language functions. The
          <codeph>none</codeph> option disables statistics collection. The
          <codeph>on_no_stats</codeph> option triggers statistics collection for <codeph>CREATE
          TABLE AS SELECT</codeph>, <codeph>INSERT</codeph>, or <codeph>COPY</codeph> operations
        that are run in functions on any table that has no existing statistics.</p>
      <p>The <codeph>on_change</codeph> option triggers statistics collection only when the number
        of rows affected exceeds the threshold defined by
          <codeph>gp_autostats_on_change_threshold</codeph>. Operations in functions that can
        trigger automatic statistics collection with <codeph>on_change</codeph> are:</p>
      <p>
        <codeph>CREATE TABLE AS SELECT</codeph>
      </p>
      <p>
        <codeph>UPDATE</codeph>
      </p>
      <p>
        <codeph>DELETE</codeph>
      </p>
      <p>
        <codeph>INSERT</codeph>
      </p>
      <p>
        <codeph>COPY</codeph>
      </p>
      <table id="gp_autostats_mode_in_functions_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">none<p>on_change</p><p>on_no_stats</p></entry>
              <entry colname="col2">none</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_autostats_on_change_threshold">
    <title>gp_autostats_on_change_threshold</title>
    <body>
      <p>Specifies the threshold for automatic statistics collection when
          <codeph>gp_autostats_mode</codeph> is set to <codeph>on_change</codeph>. When a triggering
        table operation affects a number of rows exceeding this threshold, <codeph>ANALYZE
        </codeph>is added and statistics are collected for the table.</p>
      <table id="gp_autostats_on_change_threshold_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">2147483647</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_cached_segworkers_threshold">
    <title>gp_cached_segworkers_threshold</title>
    <body>
      <p>When a user starts a session with Greenplum Database and issues a query, the system creates
        groups or 'gangs' of worker processes on each segment to do the work. After the work is
        done, the segment worker processes are destroyed except for a cached number which is set by
        this parameter. A lower setting conserves system resources on the segment hosts, but a
        higher setting may improve performance for power-users that want to issue many complex
        queries in a row.</p>
      <table id="gp_cached_segworkers_threshold_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">5</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_command_count">
    <title>gp_command_count</title>
    <body>
      <p>Shows how many commands the master has received from the client. Note that a single
        SQLcommand might actually involve more than one command internally, so the counter may
        increment by more than one for a single query. This counter also is shared by all of the
        segment processes working on the command.</p>
      <table id="gp_command_count_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_connection_send_timeout">
    <title>gp_connection_send_timeout</title>
    <body>
      <p>Timeout for sending data to unresponsive Greenplum Database user clients during query
        processing. A value of 0 disables the timeout, Greenplum Database waits indefinitely for a
        client. When the timeout is reached, the query is cancelled with this
        message:<codeblock>Could not send data to client: Connection timed out.</codeblock></p>
      <table id="gp_connection_send_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of seconds</entry>
              <entry colname="col2">3600 (1 hour)</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_content">
    <title>gp_content</title>
    <body>
      <p>The local content id if a segment.</p>
      <table id="gp_content_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2"/>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_create_table_random_default_distribution">
    <title>gp_create_table_random_default_distribution</title>
    <body>
      <p>Controls table creation when a Greenplum Database table is created with a <cmdname>CREATE
          TABLE</cmdname> or <cmdname>CREATE TABLE AS</cmdname> command that does not contain a
          <cmdname>DISTRIBUTED BY</cmdname> clause.</p>
      <p>For <cmdname>CREATE TABLE</cmdname>, if the value of the parameter is <codeph>off</codeph>
        (the default), and the table creation command does not contain a <cmdname>DISTRIBUTED
          BY</cmdname> clause, Greenplum Database chooses the table distribution key based on the
          command:<ul id="ul_rjb_gty_qfb">
          <li>If a <codeph>LIKE</codeph> or <codeph>INHERITS</codeph> clause is specified, then
            Greenplum copies the distribution key from the source or parent table.</li>
          <li>If a <codeph>PRIMARY KEY</codeph> or <codeph>UNIQUE</codeph> constraints are
            specified, then Greenplum chooses the largest subset of all the key columns as the
            distribution key.</li>
          <li>If neither constraints nor a <codeph>LIKE</codeph> or <codeph>INHERITS</codeph> clause
            is specified, then Greenplum chooses the first suitable column as the distribution key.
            (Columns with geometric or user-defined data types are not eligible as Greenplum
            distribution key columns.)</li>
        </ul></p>
      <p>If the value of the parameter is set to <codeph>on</codeph>, Greenplum Database follows
        these rules to create a table when the <cmdname>DISTRIBUTED BY</cmdname> clause is not
          specified:<ul id="ul_tbr_5kq_kq">
          <li>If <cmdname>PRIMARY KEY</cmdname> or <cmdname>UNIQUE</cmdname> columns are not
            specified, the distribution of the table is random (<cmdname>DISTRIBUTED
              RANDOMLY</cmdname>). Table distribution is random even if the table creation command
            contains the <cmdname>LIKE</cmdname> or <cmdname>INHERITS</cmdname> clause. </li>
          <li>If <cmdname>PRIMARY KEY</cmdname> or <cmdname>UNIQUE</cmdname> columns are specified,
            a <cmdname>DISTRIBUTED BY</cmdname> clause must also be specified. If a
              <cmdname>DISTRIBUTED BY</cmdname> clause is not specified as part of the table
            creation command, the command fails.</li>
        </ul></p>
      <p>For a <cmdname>CREATE TABLE AS</cmdname> command that does not contain a distribution
          clause:<ul id="ul_ejv_m1b_kr">
          <li>If the Postgres Planner creates the table, and the value of the parameter is
              <codeph>off</codeph>, the table distribution policy is determined based on the
            command.</li>
          <li>If the Postgres Planner creates the table, and the value of the parameter is
              <codeph>on</codeph>, the table distribution policy is random.</li>
          <li>If GPORCA creates the table, the table distribution policy is random. The parameter
            value has no affect. </li>
        </ul></p>
      <p>For information about the Postgres Planner and GPORCA, see "Querying Data" in the
          <cite>Greenplum Database Administrator Guide</cite>. </p>
      <table id="table_hh5_kgp_kq">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_dbid">
    <title>gp_dbid</title>
    <body>
      <p>The local content dbid of a segment.</p>
      <table id="gp_dbid_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2"/>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_debug_linger">
    <title>gp_debug_linger</title>
    <body>
      <p>Number of seconds for a Greenplum process to linger after a fatal internal error.</p>
      <table id="gp_debug_linger_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_default_storage_options">
    <title>gp_default_storage_options</title>
    <body>
      <p>Set the default values for the following table storage options when a table is created with
        the <codeph>CREATE TABLE</codeph> command.<ul id="ul_r4t_nxx_5p">
          <li><cmdname>appendoptimized</cmdname>
            <note>You use the <codeph>appendoptimized=<varname>value</varname></codeph> syntax
              to specify the append-optimized table storage type. <codeph>appendoptimized</codeph>
              is a thin alias for the <codeph>appendonly</codeph> legacy storage option. Greenplum
              Database stores <codeph>appendonly</codeph> in the catalog, and displays the
              same when listing the storage options for append-optimized tables.</note>
          </li>
          <li><cmdname>blocksize</cmdname>
          </li>
          <li><cmdname>checksum</cmdname></li>
          <li><cmdname>compresstype</cmdname>
          </li>
          <li><cmdname>compresslevel</cmdname>
          </li>
          <li><cmdname>orientation</cmdname>
          </li>
        </ul></p>
      <p>Specify multiple storage option values as a comma separated list.</p>
      <p>You can set the storage options with this parameter instead of specifying the table storage
        options in the <codeph>WITH</codeph> of the <codeph>CREATE TABLE</codeph> command. The
        table storage options that are specified with the <codeph>CREATE TABLE</codeph> command
        override the values specified by this parameter. </p>
      <p>Not all combinations of storage option values are valid. If the specified storage options
        are not valid, an error is returned. See the <codeph>CREATE TABLE</codeph> command for
        information about table storage options. </p>
      <p>The defaults can be set for a database and user. If the server configuration parameter is
        set at different levels, this the order of precedence, from highest to lowest, of the table
        storage values when a user logs into a database and creates a table:</p>
      <ol id="ol_fy1_fty_5p">
        <li>The values specified in a <codeph>CREATE TABLE</codeph> command with the
            <codeph>WITH</codeph> clause or <codeph>ENCODING</codeph> clause</li>
        <li>The value of <codeph>gp_default_storage_options</codeph> that set for the user with the
            <codeph>ALTER ROLE...SET</codeph> command</li>
        <li>The value of <codeph>gp_default_storage_options</codeph> that is set for the database
          with the <codeph>ALTER DATABASE...SET</codeph> command</li>
        <li>The value of <codeph>gp_default_storage_options</codeph> that is set for the Greenplum
          Database system with the <codeph>gpconfig</codeph> utility</li>
      </ol>
      <p>The parameter value is not cumulative. For example, if the parameter specifies the
          <codeph>appendoptimized</codeph> and <codeph>compresstype</codeph> options for a database
        and a user logs in and sets the parameter to specify the value for the
          <codeph>orientation</codeph> option, the <codeph>appendoptimized</codeph>, and
          <codeph>compresstype</codeph> values set at the database level are ignored. </p>
      <p>This example <codeph>ALTER DATABASE</codeph> command sets the default
          <codeph>orientation</codeph> and <codeph>compresstype</codeph> table storage options
        for the database <codeph>mytest</codeph>.
        <codeblock>ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'</codeblock></p>
      <p>To create an append-optimized table in the <codeph>mytest</codeph> database with
        column-oriented table and RLE compression. The user needs to specify only
          <codeph>appendoptimized=TRUE</codeph> in the <codeph>WITH</codeph> clause.</p>
      <p>This example <codeph>gpconfig</codeph> utility command sets the default storage option
        for a Greenplum Database system. If you set the defaults for multiple table storage options,
        the value must be enclosed in single
        quotes.<codeblock>gpconfig -c 'gp_default_storage_options' -v 'appendoptimized=true, orientation=column'</codeblock></p>
      <p>This example <codeph>gpconfig</codeph> utility command shows the value of the parameter.
        The parameter value must be consistent across the Greenplum Database master and all
        segments.<codeblock>gpconfig -s 'gp_default_storage_options'</codeblock></p>
      <table id="gp_default_storage_option_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications <sup>1</sup></entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"><codeph>appendoptimized</codeph>= <codeph>TRUE</codeph> |
                  <codeph>FALSE</codeph><p><codeph>blocksize</codeph>= integer between 8192 and
                  2097152 </p><p><codeph>checksum</codeph>= <codeph>TRUE</codeph> |
                    <codeph>FALSE</codeph>
                </p><p><codeph>compresstype</codeph>= <codeph>ZLIB</codeph> |
                    <codeph>ZSTD</codeph> | <codeph>QUICKLZ</codeph><sup>2</sup> |
                    <codeph>RLE</codeph>_<codeph>TYPE</codeph> | <codeph>NONE</codeph>
                </p><p><codeph>compresslevel</codeph>= integer between 0 and
                    19</p><p><codeph>orientation</codeph>= <codeph>ROW</codeph> |
                    <codeph>COLUMN</codeph>
                </p></entry>
              <entry colname="col2"><codeph>appendoptimized</codeph>=<codeph>FALSE</codeph>
                <p><codeph>blocksize</codeph>=<codeph>32768</codeph>
                </p><p><codeph>checksum</codeph>=<codeph>TRUE</codeph>
                </p><p><codeph>compresstype</codeph>=<codeph>none</codeph>
                </p><p><codeph>compresslevel</codeph>=<codeph>0</codeph>
                </p><p><codeph>orientation</codeph>=<codeph>ROW</codeph></p></entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <note>
        <sup>1</sup>The set classification when the parameter is set at the system level with the
          <codeph>gpconfig</codeph> utility.</note>
      <note>
        <sup>2</sup>QuickLZ compression is available only in the commercial release of Tanzu
        Greenplum.</note>
    </body>
  </topic>
  <topic id="gp_dispatch_keepalives_count">
    <title>gp_dispatch_keepalives_count</title>
    <body>
      <p>Maximum number of TCP keepalive retransmits from a Greenplum Query Dispatcher to its Query
        Executors. It controls the number of consecutive keepalive retransmits that can be lost
        before a connection between a Query Dispatcher and a Query Executor is considered dead.</p>
      <table id="table_orj_wng_rrb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 to 127</entry>
              <entry colname="col2">0 (it uses the system default)</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_dispatch_keepalives_idle">
    <title>gp_dispatch_keepalives_idle</title>
    <body>
      <p>Time in seconds between issuing TCP keepalives from a Greenplum Query Dispatcher to its
        Query Executors.</p>
      <table id="table_pwn_wng_rrb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 to 32767</entry>
              <entry colname="col2">0  (it uses the system default)</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_dispatch_keepalives_interval">
    <title>gp_dispatch_keepalives_interval</title>
    <body>
      <p>Time in seconds between TCP keepalive retransmits from a Greenplum Query Dispatcher to its
        Query Executors.</p>
      <table id="table_jpq_wng_rrb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 to 32767</entry>
              <entry colname="col2">0  (it uses the system default)</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_dynamic_partition_pruning">
    <title>gp_dynamic_partition_pruning</title>
    <body>
      <p>Enables plans that can dynamically eliminate the scanning of partitions.</p>
      <table id="gp_dynamic_partition_pruning_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_agg_distinct">
    <title>gp_enable_agg_distinct</title>
    <body>
      <p>Enables or disables two-phase aggregation to compute a single distinct-qualified aggregate.
        This applies only to subqueries that include a single distinct-qualified aggregate
        function.</p>
      <table id="gp_enable_agg_distinct_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_agg_distinct_pruning">
    <title>gp_enable_agg_distinct_pruning</title>
    <body>
      <p>Enables or disables three-phase aggregation and join to compute distinct-qualified
        aggregates. This applies only to subqueries that include one or more distinct-qualified
        aggregate functions.</p>
      <table id="gp_enable_agg_distinct_pruning_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_direct_dispatch">
    <title>gp_enable_direct_dispatch</title>
    <body>
      <p>Enables or disables the dispatching of targeted query plans for queries that access data on
        a single segment. When on, queries that target rows on a single segment will only have their
        query plan dispatched to that segment (rather than to all segments). This significantly
        reduces the response time of qualifying queries as there is no interconnect setup involved.
        Direct dispatch does require more CPU utilization on the master.</p>
      <table id="gp_enable_direct_dispatch_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_exchange_default_partition">
    <title>gp_enable_exchange_default_partition</title>
    <body>
      <p>Controls availability of the <codeph>EXCHANGE DEFAULT PARTITION</codeph> clause for
          <codeph>ALTER TABLE</codeph>. The default value for the parameter is <codeph>off</codeph>.
        The clause is not available and Greenplum Database returns an error if the clause is
        specified in an <codeph>ALTER TABLE</codeph> command. </p>
      <p>If the value is <codeph>on</codeph>, Greenplum Database returns a warning stating that
        exchanging the default partition might result in incorrect results due to invalid data in
        the default partition.</p>
      <p>
        <note type="warning">Before you exchange the default partition, you must ensure the data in
          the table to be exchanged, the new default partition, is valid for the default partition.
          For example, the data in the new default partition must not contain data that would be
          valid in other leaf child partitions of the partitioned table. Otherwise, queries against
          the partitioned table with the exchanged default partition that are run by GPORCA
          might return incorrect results.</note>
      </p>
      <table id="gp_enable_exchange_default_partition_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_fast_sri">
    <title>gp_enable_fast_sri</title>
    <body>
      <p>When set to <codeph>on</codeph>, the Postgres Planner plans single row
        inserts so that they are sent directly to the correct segment instance (no motion operation
        required). This significantly improves performance of single-row-insert statements.</p>
      <table id="gp_enable_fast_sri_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_global_deadlock_detector">
    <title>gp_enable_global_deadlock_detector</title>
    <body>
      <p>Controls whether the Greenplum Database Global Deadlock Detector is enabled to manage
        concurrent <codeph>UPDATE</codeph> and <codeph>DELETE</codeph> operations on heap tables to
        improve performance. See <xref href="../../admin_guide/dml.html#topic_gdd" scope="external"
          format="html">Inserting, Updating, and Deleting Data</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>.
        The default is <codeph>off</codeph>, the Global Deadlock Detector is disabled. </p>
      <p>If the Global Deadlock Detector is disabled (the default), Greenplum Database runs
        concurrent update and delete operations on a heap table serially.</p>
      <p>If the Global Deadlock Detector is enabled, concurrent updates are permitted and the Global 
        Deadlock Detector determines when a deadlock exists, and
        breaks the deadlock by cancelling one or more backend processes associated with the youngest
        transaction(s) involved. </p>
      <table id="table_vcm_p3r_qgb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_gpperfmon">
    <title>gp_enable_gpperfmon</title>
    <body>
      <p>Enables or disables the data collection agents that populate the <codeph>gpperfmon</codeph>
        database.</p>
      <table id="gp_enable_gpperfmon_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_groupext_distinct_gather">
    <title>gp_enable_groupext_distinct_gather</title>
    <body>
      <p>Enables or disables gathering data to a single node to compute distinct-qualified
        aggregates on grouping extension queries. When this parameter and
          <codeph>gp_enable_groupext_distinct_pruning</codeph> are both enabled, the Postgres Planner uses the cheaper plan.</p>
      <table id="gp_enable_groupext_distinct_gather_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_groupext_distinct_pruning">
    <title>gp_enable_groupext_distinct_pruning</title>
    <body>
      <p>Enables or disables three-phase aggregation and join to compute distinct-qualified
        aggregates on grouping extension queries. Usually, enabling this parameter generates a
        cheaper query plan that the Postgres Planner will use in preference to
        existing plan.</p>
      <table id="gp_enable_groupext_distinct_pruning_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_multiphase_agg">
    <title>gp_enable_multiphase_agg</title>
    <body>
      <p>Enables or disables the use of two or three-stage parallel aggregation plans Postgres Planner. 
        This approach applies to any subquery with aggregation. If
          <codeph>gp_enable_multiphase_agg</codeph> is off, then<codeph>
          gp_enable_agg_distinct</codeph> and <codeph>gp_enable_agg_distinct_pruning</codeph> are
        disabled.</p>
      <table id="gp_enable_multiphase_agg_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_predicate_propagation">
    <title>gp_enable_predicate_propagation</title>
    <body>
      <p>When enabled, the Postgres Planner applies query predicates to both table
        expressions in cases where the tables are joined on their distribution key column(s).
        Filtering both tables prior to doing the join (when possible) is more efficient.</p>
      <table id="gp_enable_predicate_propagation_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_preunique">
    <title>gp_enable_preunique</title>
    <body>
      <p>Enables two-phase duplicate removal for <codeph>SELECT DISTINCT</codeph> queries (not
          <codeph>SELECT COUNT(DISTINCT)</codeph>). When enabled, it adds an extra <codeph>SORT
          DISTINCT</codeph> set of plan nodes before motioning. In cases where the distinct
        operation greatly reduces the number of rows, this extra <codeph>SORT DISTINCT</codeph> is
        much cheaper than the cost of sending the rows across the Interconnect.</p>
      <table id="gp_enable_preunique_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_query_metrics">
    <title>gp_enable_query_metrics</title>
    <body>
      <p>Enables collection of query metrics. When query metrics collection is enabled, Greenplum
        Database collects metrics during query execution. The default is off.</p>
      <p>After changing this configuration parameter, Greenplum Database must be restarted for the
        change to take effect.</p>
      <p>The Greenplum Database metrics collection extension, when enabled, sends the collected
        metrics over UDP to a Tanzu Greenplum Command Center agent<sup>1</sup>. </p>
      <note><sup>1</sup> The metrics collection extension is included in VMware's commercial
        version of Greenplum Database. Tanzu Greenplum Command Center is supported only with
        Tanzu Greenplum.</note>
      <table id="gp_enable_query_metrics">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_relsize_collection">
    <title>gp_enable_relsize_collection</title>
    <body>
      <p>Enables GPORCA and the Postgres Planner to use the estimated size of a
        table (<codeph>pg_relation_size</codeph> function) if there are no statistics for the table.
        By default, GPORCA and the planner use a default value to estimate the number of rows if
        statistics are not available. The default behavior improves query optimization time and
        reduces resource queue usage in heavy workloads, but can lead to suboptimal plans.</p>
      <p>This parameter is ignored for a root partition of a partitioned table. When GPORCA is
        enabled and the root partition does not have statistics, GPORCA always uses the default
        value. You can use <codeph>ANALZYE ROOTPARTITION</codeph> to collect statistics on the root
        partition. See <codeph><xref href="../../ref_guide/sql_commands/ANALYZE.xml"/></codeph>.</p>
      <table id="table_b2v_b5t_3x">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_segment_copy_checking">
    <title>gp_enable_segment_copy_checking</title>
    <body>
      <p>Controls whether the distribution policy for a table (from the table
          <codeph>DISTRIBUTED</codeph> clause) is checked when data is copied into the table with
        the <codeph>COPY FROM...ON SEGMENT</codeph> command. If true, an error is returned if a row
        of data violates the distribution policy for a segment instance. The default is
          <codeph>true</codeph>. </p>
      <p>If the value is <codeph>false</codeph>, the distribution policy is not checked. The data
        added to the table might violate the table distribution policy for the segment instance.
        Manual redistribution of table data might be required. See the <codeph>ALTER TABLE</codeph>
        clause <codeph>WITH REORGANIZE</codeph>.</p>
      <p>The parameter can be set for a database system or a session. The parameter cannot be set
        for a specific database.</p>
      <table id="table_gxf_hpm_z1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_sort_distinct">
    <title>gp_enable_sort_distinct</title>
    <body>
      <p>Enable duplicates to be removed while sorting.</p>
      <table id="gp_enable_sort_distinct_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_enable_sort_limit">
    <title>gp_enable_sort_limit</title>
    <body>
      <p>Enable <codeph>LIMIT</codeph> operation to be performed while sorting. Sorts more
        efficiently when the plan requires the first <i>limit_number</i> of rows at most.</p>
      <table id="gp_enable_sort_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_external_enable_exec">
    <title>gp_external_enable_exec</title>
    <body>
      <p>Enables or disables the use of external tables that run OS commands or scripts on the
        segment hosts (<codeph>CREATE EXTERNAL TABLE EXECUTE</codeph> syntax). <ph>Must be enabled
          if using the Command Center or MapReduce features.</ph></p>
      <table id="gp_external_enable_exec_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_external_max_segs">
    <title>gp_external_max_segs</title>
    <body>
      <p>Sets the number of segments that will scan external table data during an external table
        operation, the purpose being not to overload the system with scanning data and take away
        resources from other concurrent operations. This only applies to external tables that use
        the <codeph>gpfdist://</codeph> protocol to access external table data.</p>
      <table id="gp_external_max_segs_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">64</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_external_enable_filter_pushdown">
    <title>gp_external_enable_filter_pushdown</title>
    <body>
      <p>Enable filter pushdown when reading data from external tables. If pushdown fails, a query
        is run without pushing filters to the external data source (instead, Greenplum Database
        applies the same constraints to the result). See <xref
          href="../../admin_guide/external/g-external-tables.html#topic3" scope="external"
          format="html">Defining External Tables</xref> for more information.</p>
      <table id="enable_filter_pushdown_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_fts_probe_interval">
    <title>gp_fts_probe_interval</title>
    <body>
      <p>Specifies the polling interval for the fault detection process (<codeph>ftsprobe</codeph>).
        The <codeph>ftsprobe</codeph> process will take approximately this amount of time to detect
        a segment failure.</p>
      <table id="gp_fts_probe_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">10 - 3600 seconds</entry>
              <entry colname="col2">1min</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_fts_probe_retries">
    <title>gp_fts_probe_retries</title>
    <body>
      <p>Specifies the number of times the fault detection process (<codeph>ftsprobe</codeph>)
        attempts to connect to a segment before reporting segment failure. </p>
      <table id="gp_fts_probe_retries_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">5</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_fts_probe_timeout">
    <title>gp_fts_probe_timeout</title>
    <body>
      <p>Specifies the allowed timeout for the fault detection process (<codeph>ftsprobe</codeph>)
        to establish a connection to a segment before declaring it down. </p>
      <table id="gp_fts_probe_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">10 - 3600 seconds</entry>
              <entry colname="col2">20 secs</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_fts_replication_attempt_count">
    <title>gp_fts_replication_attempt_count</title>
    <body>
      <p>Specifies the maximum number of times that Greenplum Database attempts
        to establish a primary-mirror replication connection. When this count
        is exceeded, the fault detection process (<codeph>ftsprobe</codeph>)
        stops retrying and marks the mirror down.</p>
      <table id="gp_fts_replication_attempt_count_tbl">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - 100</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_global_deadlock_detector_period">
    <title>gp_global_deadlock_detector_period</title>
    <body>
      <p>Specifies the executing interval (in seconds) of the global deadlock detector background
        worker process.</p>
      <table id="gp_global_deadlock_detector_period">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">5 - <codeph>INT_MAX</codeph> secs</entry>
              <entry colname="col2">120 secs</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_log_fts">
    <title>gp_log_fts</title>
    <body>
      <p>Controls the amount of detail the fault detection process (<codeph>ftsprobe</codeph>)
        writes to the log file. </p>
      <table id="gp_log_fts_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">OFF<p>TERSE</p><p>VERBOSE</p><p>DEBUG</p></entry>
              <entry colname="col2">TERSE</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_log_interconnect">
    <title>gp_log_interconnect</title>
    <body>
      <p>Controls the amount of information that is written to the log file about communication
        between Greenplum Database segment instance worker processes. The default value is
          <codeph>terse</codeph>. The log information is written to both the master and segment
        instance logs.</p>
      <p>Increasing the amount of logging could affect performance and increase disk space
        usage.</p>
      <table id="table_xkm_nqr_y1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">
                <p>off</p>
                <p>terse</p>
                <p>verbose</p>
                <p>debug</p>
              </entry>
              <entry colname="col2">terse</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_log_gang">
    <title>gp_log_gang</title>
    <body>
      <p>Controls the amount of information that is written to the log file about query worker
        process creation and query management. The default value is <codeph>OFF</codeph>, do not log
        information.</p>
      <table id="gp_log_fts_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">OFF<p>TERSE</p><p>VERBOSE</p><p>DEBUG</p></entry>
              <entry colname="col2">OFF</entry>
              <entry colname="col3">master<p>session</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_log_resqueue_priority_sleep_time">
    <title>gp_log_resqueue_priority_sleep_time</title>
    <body>
      <p>Controls the logging of per-statement sleep time when resource queue-based resource
        management is active. You can use this information for analysis of sleep time for
        queries.</p>
      <p>The default value is <codeph>false</codeph>, do not log the statement sleep time.
        When set to <codeph>true</codeph>, Greenplum Database:<ul>
          <li>Logs the current amount of sleep time for a running query every two minutes.</li>
          <li>Logs the total of sleep time duration for a query at the end of a query.</li>
        </ul> The information is written to the server log.</p>
      <table id="table_xkm_nqr_y1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_gpperfmon_send_interval">
    <title>gp_gpperfmon_send_interval</title>
    <body>
      <p>Sets the frequency that the Greenplum Database server processes send query execution
        updates to the data collection agent processes used to populate the
          <codeph>gpperfmon</codeph> database. Query operations executed during
        this interval are sent through UDP to the segment monitor agents. If you find that an
        excessive number of UDP packets are dropped during long-running, complex queries, you may
        consider increasing this value.</p>
      <table id="gp_gpperfmon_send_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">1sec</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gpfdist_retry_timeout">
    <title>gpfdist_retry_timeout</title>
    <body>
      <p>Controls the time (in seconds) that Greenplum Database waits before returning an error when
        Greenplum Database is attempting to connect or write to a <codeph><xref
            href="../../utility_guide/ref/gpfdist.xml"/></codeph> server and
          <codeph>gpfdist</codeph> does not respond. The default value is 300 (5 minutes). A value
        of 0 disables the timeout.</p>
      <table id="table_fkm_jqp_dmb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - <codeph>INT_MAX</codeph> (2147483647)</entry>
              <entry colname="col2">300</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gpperfmon_log_alert_level">
    <title>gpperfmon_log_alert_level</title>
    <body>
      <p>Controls which message levels are written to the gpperfmon log. Each level includes all the
        levels that follow it. The later the level, the fewer messages are sent to the log. </p>
      <note>If the <codeph>gpperfmon</codeph> database is installed and is monitoring the database,
        the default value is warning.</note>
      <table id="gpperfmon_log_alert_level_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">none <p>warning</p><p>error</p><p>fatal</p><p>panic</p></entry>
              <entry colname="col2">none</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_hashjoin_tuples_per_bucket">
    <title>gp_hashjoin_tuples_per_bucket</title>
    <body>
      <p>Sets the target density of the hash table used by HashJoin operations. A smaller value will
        tend to produce larger hash tables, which can increase join performance.</p>
      <table id="gp_hashjoin_tuples_per_bucket_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">5</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_ignore_error_table">
    <title>gp_ignore_error_table</title>
    <body>
      <p>Controls Greenplum Database behavior when the deprecated <codeph>INTO ERROR TABLE</codeph>
        clause is specified in a <codeph>CREATE EXTERNAL TABLE</codeph> or <codeph>COPY</codeph>
        command.</p>
      <note>The <codeph>INTO ERROR TABLE</codeph> clause was deprecated and removed in Greenplum
        Database 5. In Greenplum Database 7, this parameter will be removed as well, causing all
          <codeph>INTO ERROR TABLE</codeph> invocations be yield a syntax error.</note>
      <p>The default value is <codeph>false</codeph>, Greenplum Database returns an error if the
          <codeph>INTO ERROR TABLE</codeph> clause is specified in a command. </p>
      <p>If the value is <codeph>true</codeph>, Greenplum Database ignores the clause, issues a
        warning, and runs the command without the <codeph>INTO ERROR TABLE</codeph> clause. In
        Greenplum Database 5.x and later, you access the error log information with built-in SQL
        functions. See the <codeph><xref href="../sql_commands/CREATE_EXTERNAL_TABLE.xml">CREATE
            EXTERNAL TABLE</xref></codeph> or <codeph><xref href="../sql_commands/COPY.xml"
            >COPY</xref></codeph> command.</p>
      <p>You can set this value to <codeph>true</codeph> to avoid the Greenplum Database error when
        you run applications that run <codeph>CREATE EXTERNAL TABLE</codeph> or
          <codeph>COPY</codeph> commands that include the Greenplum Database 4.3.x <codeph>INTO
          ERROR TABLE</codeph> clause.</p>
      <table id="table_hnf_2v5_bdb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="topic_lvm_ttc_3p">
    <title>gp_initial_bad_row_limit</title>
    <body>
      <p>For the parameter value <i>n</i>, Greenplum Database stops processing input rows when you
        import data with the <codeph>COPY</codeph> command or from an external table if the first
          <i>n</i> rows processed contain formatting errors. If a valid row is processed within the
        first <i>n</i> rows, Greenplum Database continues processing input rows.</p>
      <p>Setting the value to 0 disables this limit. </p>
      <p>The <codeph>SEGMENT REJECT LIMIT</codeph> clause can also be specified for the
          <codeph>COPY</codeph> command or the external table definition to limit the number of
        rejected rows. </p>
      <p>
        <codeph>INT_MAX</codeph> is the largest value that can be stored as an integer on your
        system.</p>
      <table id="gp_initial_bad_row_limit">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 0 - <codeph>INT_MAX</codeph></entry>
              <entry colname="col2">1000</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_instrument_shmem_size">
    <title>gp_instrument_shmem_size</title>
    <body>
      <p>The amount of shared memory, in kilobytes, allocated for query metrics. The default is 5120
        and the maximum is 131072. At startup, if <codeph><xref href="#gp_enable_query_metrics"
            format="dita">gp_enable_query_metrics</xref></codeph> is set to on, Greenplum Database
        allocates space in shared memory to save query metrics. This memory is organized as a header
        and a list of slots. The number of slots needed depends on the number of concurrent queries
        and the number of execution plan nodes per query. The default value, 5120, is based on a
        Greenplum Database system that runs a maximum of about 250 concurrent queries with 120
        nodes per query. If the <codeph>gp_enable_query_metrics</codeph> configuration parameter is
        off, or if the slots are exhausted, the metrics are maintained in local memory instead of in
        shared memory. </p>
      <table id="gp_instrument_shmem_size">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer <codeph>0 - 131072</codeph></entry>
              <entry colname="col2">5120</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_debug_retry_interval">
    <title>gp_interconnect_debug_retry_interval</title>
    <body>
      <p>Specifies the interval, in seconds, to log Greenplum Database interconnect debugging
        messages when the server configuration parameter <codeph><xref href="#gp_log_interconnect"
            format="dita">gp_log_interconnect</xref></codeph> is set to <codeph>DEBUG</codeph>. The
        default is 10 seconds. </p>
      <p>The log messages contain information about the interconnect communication between Greenplum
        Database segment instance worker processes. The information can be helpful when debugging
        network issues between segment instances.</p>
      <table id="table_q1n_v4r_y1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1 =&lt; Integer &lt; 4096</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_fc_method">
    <title>gp_interconnect_fc_method</title>
    <body>
      <p>Specifies the flow control method used for the default Greenplum Database UDPIFC
        interconnect.</p>
      <p>For capacity based flow control, senders do not send packets when receivers do not have the
        capacity.</p>
      <p>Loss based flow control is based on capacity based flow control, and also tunes the sending
        speed according to packet losses.</p>
      <table id="gp_interconnect_fc_method_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">CAPACITY<p>LOSS</p></entry>
              <entry colname="col2">LOSS</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_proxy_addresses">
    <title>gp_interconnect_proxy_addresses</title>
    <body>
      <p>Sets the proxy ports that Greenplum Database uses when the server configuration parameter
            <codeph><xref href="#gp_interconnect_type" format="dita"/></codeph> is set to
          <codeph>proxy</codeph>. Otherwise, this parameter is ignored. The default value is an
        empty string (""). </p>
      <p>When the <codeph>gp_interconnect_type</codeph> parameter is set to <codeph>proxy</codeph>,
        You must specify a proxy port for the master, standby master, and all primary and mirror
        segment instances in this format:</p>
      <codeblock>&lt;db_id>:&lt;cont_id>:&lt;seg_address>:&lt;port>[, ... ]</codeblock>
      <p>For the master, standby master, and segment instance, the first three fields,
          <varname>db_id</varname>, <varname>cont_id</varname>, and <varname>seg_address</varname>
        can be found in the <codeph><xref href="../system_catalogs/gp_segment_configuration.xml"
            >gp_segment_configuration</xref></codeph> catalog table. The fourth field,
          <varname>port</varname>, is the proxy port for the Greenplum master or a segment
          instance.<ul id="ul_zly_vpm_4mb">
          <li><varname>db_id</varname> is the <codeph>dbid</codeph> column in the catalog
            table.</li>
          <li><varname>cont_id</varname> is the <codeph>content</codeph> column in the catalog
            table.</li>
          <li><varname>seg_address</varname> is the IP address or hostname corresponding to tge
              <codeph>address</codeph> column in the catalog table.</li>
          <li><varname>port</varname> is the TCP/IP port for the segment instance proxy that you
            specify.</li>
        </ul></p>
      <note type="important">If a segment instance hostname is bound to a different IP address at
        runtime, you must run <codeph>gpstop -U</codeph> to re-load the
          <codeph>gp_interconnect_proxy_addresses</codeph> value.</note>
      <p>You must specify the value as a single-quoted string. This <codeph>gpconfig</codeph>
        command sets the value for <codeph>gp_interconnect_proxy_addresses</codeph> as a
        single-quoted string. The Greenplum system consists of a master and a single segment
        instance.<codeblock>gpconfig --skipvalidation -c gp_interconnect_proxy_addresses -v "'1:-1:192.168.180.50:35432,2:0:192.168.180.54:35000'"</codeblock></p>
      <p>For an example of setting <codeph>gp_interconnect_proxy_addresses</codeph>, see <xref
          href="../../admin_guide/managing/proxy-ic.html" scope="external"
          format="html">Configuring Proxies for the Greenplum Interconnect</xref>.</p>
      <table id="table_dlg_dch_mmb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string (maximum length - 16384 bytes)</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_queue_depth">
    <title>gp_interconnect_queue_depth</title>
    <body>
      <p>Sets the amount of data per-peer to be queued by the Greenplum Database interconnect on
        receivers (when data is received but no space is available to receive it the data will be
        dropped, and the transmitter will need to resend it) for the default UDPIFC interconnect.
        Increasing the depth from its default value will cause the system to use more memory, but
        may increase performance. It is reasonable to set this value between 1 and 10. Queries with
        data skew potentially perform better with an increased queue depth. Increasing this may
        radically increase the amount of memory used by the system.</p>
      <table id="gp_interconnect_queue_depth_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1-2048</entry>
              <entry colname="col2">4</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_setup_timeout">
    <title>gp_interconnect_setup_timeout</title>
    <body>
      <p>Specifies the amount of time, in seconds, that Greenplum Database waits
        for the interconnect to complete setup before it times out.</p>
      <table id="gp_interconnect_setup_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - 7200 seconds</entry>
              <entry colname="col2">7200 seconds (2 hours)</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_snd_queue_depth">
    <title>gp_interconnect_snd_queue_depth</title>
    <body>
      <p>Sets the amount of data per-peer to be queued by the default UDPIFC interconnect on
        senders. Increasing the depth from its default value will cause the system to use more
        memory, but may increase performance. Reasonable values for this parameter are between 1 and
        4. Increasing the value might radically increase the amount of memory used by the
        system.</p>
      <table id="gp_interconnect_snd_queue_depth_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1 - 4096</entry>
              <entry colname="col2">2 </entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_transmit_timeout">
    <title>gp_interconnect_transmit_timeout</title>
    <body>
      <p>Specifies the amount of time, in seconds, that Greenplum Database waits
        for network transmission of interconnect traffic to complete before it
        times out.</p>
      <table id="gp_interconnect_transmit_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1 - 7200 seconds</entry>
              <entry colname="col2">3600 seconds (1 hour)</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_interconnect_type">
    <title>gp_interconnect_type</title>
    <body>
      <p>Sets the networking protocol used for Greenplum Database interconnect traffic. UDPIFC
        specifies using UDP with flow control for interconnect traffic, and is the only value
        supported.</p>
      <p>UDPIFC (the default) specifies using UDP with flow control for interconnect traffic.
        Specify the interconnect flow control method with <xref href="#gp_interconnect_fc_method"
          format="dita"/>.</p>
      <p>With TCP as the interconnect protocol, Greenplum Database has an upper limit of 1000
        segment instances - less than that if the query workload involves complex, multi-slice
        queries.</p>
      <p>The <codeph>PROXY</codeph> value specifies using the TCP protocol, and when running
        queries, using a proxy for Greenplum interconnect communication between the master instance
        and segment instances and between two segment instances. When this parameter is set to
          <codeph>PROXY</codeph>, you must specify the proxy ports for the master and segment
        instances with the server configuration parameter <codeph><xref
            href="#gp_interconnect_proxy_addresses" format="dita"/></codeph>. For information about
        configuring and using proxies with the Greenplum interconnect, see <xref
          href="../../admin_guide/managing/proxy-ic.html" scope="external"
          format="html">Configuring Proxies for the Greenplum Interconnect</xref>.</p>
      <table id="table_jn5_frn_xv">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">UDPIFC<p>TCP</p><p>PROXY</p></entry>
              <entry colname="col2">UDPIFC</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_log_format">
    <title>gp_log_format</title>
    <body>
      <p>Specifies the format of the server log files. If using <i>gp_toolkit</i> administrative
        schema, the log files must be in CSV format.</p>
      <table id="gp_log_format_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">csv<p>text</p></entry>
              <entry colname="col2">csv</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_max_local_distributed_cache">
    <title>gp_max_local_distributed_cache</title>
    <body>
      <p>Sets the maximum number of distributed transaction log entries to cache in the backend
        process memory of a segment instance. </p>
      <p>The log entries contain information about the state of rows that are being accessed by an
        SQL statement. The information is used to determine which rows are visible to an SQL
        transaction when running multiple simultaneous SQL statements in an MVCC environment.
        Caching distributed transaction log entries locally improves transaction processing speed by
        improving performance of the row visibility determination process.</p>
      <p>The default value is optimal for a wide variety of SQL processing environments. </p>
      <table id="gp_max_local_distributed_cache_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">1024</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_max_packet_size">
    <title>gp_max_packet_size</title>
    <body>
      <p>Sets the tuple-serialization chunk size for the Greenplum Database interconnect.</p>
      <table id="gp_max_packet_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">512-65536</entry>
              <entry colname="col2">8192</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_max_plan_size">
    <title>gp_max_plan_size</title>
    <body>
      <p>Specifies the total maximum uncompressed size of a query execution plan multiplied by the
        number of Motion operators (slices) in the plan. If the size of the query plan exceeds the
        value, the query is cancelled and an error is returned. A value of 0 means that the size of
        the plan is not monitored.</p>
      <p>You can specify a value in <codeph>kB</codeph>, <codeph>MB</codeph>, or
        <codeph>GB</codeph>. The default unit is <codeph>kB</codeph>. For example, a value of
          <codeph>200</codeph> is 200kB. A value of <codeph>1GB</codeph> is the same as
          <codeph>1024MB</codeph> or <codeph>1048576kB</codeph>.</p>
      <table id="gp_max_plan_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>superuser</p><p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_max_slices">
    <title>gp_max_slices</title>
    <body>
      <p dir="ltr">Specifies the maximum number of slices (portions of a query plan that are
        run on segment instances) that can be generated by a query. If the query generates more
        than the specified number of slices, Greenplum Database returns an error and does not
        run the query. The default value is <codeph>0</codeph>, no maximum value. </p>
      <p>Running a query that generates a large number of slices might affect Greenplum Database
        performance. For example, a query that contains <codeph>UNION</codeph> or <codeph>UNION
          ALL</codeph> operators over several complex views can generate a large number of slices.
        You can run <codeph>EXPLAIN ANALYZE</codeph> on the query to view slice statistics for the
        query.</p>
      <table id="table_uwf_lzw_ldb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - INT_MAX</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_motion_cost_per_row">
    <title>gp_motion_cost_per_row</title>
    <body>
      <p>Sets the Postgres Planner cost estimate for a Motion operator to transfer a
        row from one segment to another, measured as a fraction of the cost of a sequential page
        fetch. If 0, then the value used is two times the value of <i>cpu_tuple_cost</i>.</p>
      <table id="gp_motion_cost_per_row_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_recursive_cte">
    <title>gp_recursive_cte</title>
    <body>
      <p>Controls the availability of the <codeph>RECURSIVE</codeph> keyword in the
          <codeph>WITH</codeph> clause of a <codeph>SELECT [INTO]</codeph> command, or a
          <codeph>DELETE</codeph>, <codeph>INSERT</codeph> or <codeph>UPDATE</codeph> command. The
        keyword allows a subquery in the <codeph>WITH</codeph> clause of a command to reference
        itself. The default value is <codeph>true</codeph>, the <codeph>RECURSIVE</codeph> keyword
        is allowed in the <codeph>WITH</codeph> clause of a command.</p>
      <p>For information about the <codeph>RECURSIVE</codeph> keyword, see the <codeph><xref
            href="../sql_commands/SELECT.xml">SELECT</xref></codeph> command and <xref
          href="../../admin_guide/query/topics/CTE-query.html" scope="external"
          format="html">WITH Queries (Common Table Expressions)</xref>.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <note>This parameter was previously named <codeph>gp_recursive_cte_prototype</codeph>, but
        has been renamed to reflect the current status of the implementation.</note>
      <table id="table_j4s_yyx_1bb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_reject_percent_threshold">
    <title>gp_reject_percent_threshold</title>
    <body>
      <p>For single row error handling on COPY and external table SELECTs, sets the number of rows
        processed before SEGMENT REJECT LIMIT <i>n</i> PERCENT starts calculating.</p>
      <table id="gp_reject_percent_threshold_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1-<i>n</i></entry>
              <entry colname="col2">300</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_reraise_signal">
    <title>gp_reraise_signal</title>
    <body>
      <p>If enabled, will attempt to dump core if a fatal server error occurs.</p>
      <table id="gp_reraise_signal_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resgroup_memory_policy">
    <title>gp_resgroup_memory_policy</title>
    <body>
      <note>The <codeph>gp_resgroup_memory_policy</codeph> server configuration parameter is
        enforced only when resource group-based resource management is active.</note>
      <p>Used by a resource group to manage memory allocation to query operators.</p>
      <p>When set to <codeph>auto</codeph>, Greenplum Database uses resource group memory limits to
        distribute memory across query operators, allocating a fixed size of memory to
        non-memory-intensive operators and the rest to memory-intensive operators.</p>
      <p>When you specify <codeph>eager_free</codeph>, Greenplum Database distributes memory among
        operators more optimally by re-allocating memory released by operators that have completed
        their processing to operators in a later query stage.</p>
      <table id="gp_resgroup_memory_policy_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">auto, eager_free</entry>
              <entry colname="col2">eager_free</entry>
              <entry colname="col3">local<p>system</p><p>superuser</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_group_bypass">
    <title>gp_resource_group_bypass</title>
    <body>
      <note>The <codeph>gp_resource_group_bypass</codeph> server configuration parameter is enforced
        only when resource group-based resource management is active.</note>
      <p>Enables or disables the enforcement of resource group concurrent transaction limits on
        Greenplum Database resources. The default value is <codeph>false</codeph>, which enforces
        resource group transaction limits. Resource groups manage resources such as CPU, memory, and
        the number of concurrent transactions that are used by queries and external components such
        as PL/Container. </p>
      <p>You can set this parameter to <codeph>true</codeph> to bypass resource group concurrent
        transaction limitations so that a query can run immediately. For example, you can set the
        parameter to <codeph>true</codeph> for a session to run a system catalog query or a similar
        query that requires a minimal amount of resources. </p>
      <p>When you set this parameter to <codeph>true</codeph> and a run a query, the query runs in
        this environment:<ul id="ul_vgc_rw4_j2b">
          <li>The query runs inside a resource group. The resource group assignment for the query
            does not change.</li>
          <li>The query memory quota is approximately 10 MB per query. The memory is allocated from
            resource group shared memory or global shared memory. The query fails if there is not
            enough shared memory available to fulfill the memory allocation request.</li>
        </ul></p>
      <p>This parameter can be set for a session. The parameter cannot be set within a transaction
        or a function.</p>
      <table id="table_szz_1yt_32b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_group_cpu_ceiling_enforcement">
    <title>gp_resource_group_cpu_ceiling_enforcement</title>
    <body>
      <p>Enables the Ceiling Enforcement mode when assigning CPU resources by Percentage. When
        disabled, the Elastic mode will be used. </p>
      <table id="table_wtb_y2g_fpb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_group_cpu_limit">
    <title>gp_resource_group_cpu_limit</title>
    <body>
      <note>The <codeph>gp_resource_group_cpu_limit</codeph> server configuration parameter is
        enforced only when resource group-based resource management is active.</note>
      <p>Identifies the maximum percentage of system CPU resources to allocate to resource groups on
        each Greenplum Database segment node.</p>
      <table id="gp_resource_group_cpu_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0.1 - 1.0</entry>
              <entry colname="col2">0.9</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_group_memory_limit">
    <title>gp_resource_group_memory_limit</title>
    <body>
      <note>The <codeph>gp_resource_group_memory_limit</codeph> server configuration parameter is
        enforced only when resource group-based resource management is active.</note>
      <p>Identifies the maximum percentage of system memory resources to allocate to resource groups
        on each Greenplum Database segment node.</p>
      <table id="gp_resource_group_memory_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0.1 - 1.0</entry>
              <entry colname="col2">0.7</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <note>When resource group-based resource management is active, the memory allotted to a
        segment host is equally shared by active primary segments. Greenplum Database assigns memory
        to primary segments when the segment takes the primary role. The initial memory allotment to
        a primary segment does not change, even in a failover situation. This may result in a
        segment host utilizing more memory than the <codeph>gp_resource_group_memory_limit</codeph>
        setting permits. <p>For example, suppose your Greenplum Database cluster is utilizing the
          default <codeph>gp_resource_group_memory_limit</codeph> of <codeph>0.7</codeph> and a
          segment host named <codeph>seghost1</codeph> has 4 primary segments and 4 mirror segments.
          Greenplum Database assigns each primary segment on <codeph>seghost1</codeph>
          <codeph>(0.7 / 4 = 0.175%)</codeph> of overall system memory. If failover occurs and two
          mirrors on <codeph>seghost1</codeph> fail over to become primary segments, each of the
          original 4 primaries retain their memory allotment of <codeph>0.175</codeph>, and the two
          new primary segments are each allotted <codeph>(0.7 / 6 = 0.116%)</codeph> of system
          memory. <codeph>seghost1</codeph>'s overall memory allocation in this scenario is</p><p>
          <codeblock>
0.7 + (0.116 * 2) = 0.932%</codeblock>
        </p>
        <p>which is above the percentage configured in the
            <codeph>gp_resource_group_memory_limit</codeph> setting.</p></note>
    </body>
  </topic>
  <topic id="gp_resource_group_queuing_timeout">
    <title>gp_resource_group_queuing_timeout</title>
    <body>
      <note>The <codeph>gp_resource_group_queuing_timeout</codeph> server configuration parameter
        is enforced only when resource group-based resource management is active.</note>
      <p>Cancel a transaction queued in a resource group that waits longer than the
        specified number of milliseconds. The time limit applies separately to each
        transaction. The default value is zero; transactions are queued indefinitely
        and never time out.</p>
      <table id="gp_resource_group_queuing_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - <codeph>INT_MAX</codeph> millisecs</entry>
              <entry colname="col2">0 millisecs</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_group_move_timeout">
    <title>gp_resource_group_move_timeout</title>
    <body>
      <note>The <codeph>gp_resource_group_move_timeout</codeph> server configuration parameter
        is enforced only when resource group-based resource management is active.</note>
      <p>Cancel movement of process to another resource group if target process
        not replies longer than the specified number of milliseconds. This parameter
        doesn't include <codeph>gp_resource_group_queuing_timeout</codeph> - queuing
        on resource group performed before sending movement request.</p>
      <table id="gp_resource_group_move_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">10 - <codeph>INT_MAX</codeph> millisecs</entry>
              <entry colname="col2">30000 millisecs</entry>
              <entry colname="col3">master<p>system</p><p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resource_manager">
    <title>gp_resource_manager</title>
    <body>
      <p>Identifies the resource management scheme currently enabled in the Greenplum Database
        cluster. The default scheme is to use resource queues. For information about Greenplum
        Database resource management, see <xref href="../../admin_guide/wlmgmt.html" scope="external"
          format="html">Managing Resources</xref>.</p>
      <table id="gp_resource_manager_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">group <p>queue</p></entry>
              <entry colname="col2">queue</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resqueue_memory_policy">
    <title>gp_resqueue_memory_policy</title>
    <body>
      <note>The <codeph>gp_resqueue_memory_policy</codeph> server configuration parameter is
        enforced only when resource queue-based resource management is active.</note>
      <p>Enables Greenplum memory management features. The distribution algorithm
          <codeph>eager_free</codeph> takes advantage of the fact that not all operators run at
        the same time<ph> (in Greenplum Database 4.2 and later)</ph>. The query plan is divided into
        stages and Greenplum Database eagerly frees memory allocated to a previous stage at the end
        of that stage's execution, then allocates the eagerly freed memory to the new stage. </p>
      <p>When set to <codeph>none</codeph>, memory management is the same as in Greenplum Database
        releases prior to 4.1. </p>
      <p>When set to <codeph>auto</codeph>, query memory usage is controlled by <xref
          href="#statement_mem" format="dita"/> and resource queue memory limits. </p>
      <table id="gp_resqueue_memory_policy_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">none, auto, eager_free</entry>
              <entry colname="col2">eager_free</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resqueue_priority">
    <title>gp_resqueue_priority</title>
    <body>
      <note>The <codeph>gp_resqueue_priority</codeph> server configuration parameter is enforced
        only when resource queue-based resource management is active.</note>
      <p>Enables or disables query prioritization. When this parameter is disabled, existing
        priority settings are not evaluated at query run time.</p>
      <table id="gp_resqueue_priority_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resqueue_priority_cpucores_per_segment">
    <title>gp_resqueue_priority_cpucores_per_segment</title>
    <body>
      <note>The <codeph>gp_resqueue_priority_cpucores_per_segment</codeph> server configuration
        parameter is enforced only when resource queue-based resource management is active.</note>
      <p>Specifies the number of CPU units allocated to each segment instance on a
        segment host. If the segment is configured with primary-mirror segment instance pairs,
        use the number of primary segment instances on the host in the calculation.
        Include any CPU core that is available to the operating system, including virtual CPU
        cores, in the total number of available cores.</p> 
      <p> For example, if a Greenplum Database cluster has 10-core segment hosts that are
        configured with four primary segments, set the value to 2.5 on each segment host
        (10 divided by 4).
        A master host typically has only a single running master instance, so set the
        value on the master and standby maaster hosts to reflect the usage of all available
        CPU cores, in this case 10. </p>
      <p>Incorrect settings can result in CPU under-utilization or query prioritization not working
        as designed. </p>
      <table id="gp_resqueue_priority_cpucores_per_segment_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0.1 - 512.0</entry>
              <entry colname="col2">4</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_resqueue_priority_sweeper_interval">
    <title>gp_resqueue_priority_sweeper_interval</title>
    <body>
      <note>The <codeph>gp_resqueue_priority_sweeper_interval</codeph> server configuration
        parameter is enforced only when resource queue-based resource management is active.</note>
      <p>Specifies the interval at which the sweeper process evaluates current CPU usage. When a new
        statement becomes active, its priority is evaluated and its CPU share determined when the
        next interval is reached.</p>
      <table id="gp_resqueue_priority_sweeper_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">500 - 15000 ms</entry>
              <entry colname="col2">1000</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_retrieve_conn">
    <title>gp_retrieve_conn</title>
    <body>
      <p>A session that you initiate with <codeph>PGOPTIONS='-c gp_retrieve_conn=true'</codeph>
        is a retrieve session. You use a retrieve session to retrieve query result tuples
        from a specific endpoint instantiated for a parallel retrieve cursor.</p>
      <p>The default value is <codeph>false</codeph>.</p>
      <table id="gp_retrieve_conn_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_role">
    <title>gp_role</title>
    <body>
      <p>The role of this server process is set to <i>dispatch</i> for the master and <i>execute</i>
        for a segment.</p>
      <table id="gp_role_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">dispatch<p>execute</p><p>utility</p></entry>
              <entry colname="col2"/>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_safefswritesize">
    <title>gp_safefswritesize</title>
    <body>
      <p>Specifies a minimum size for safe write operations to append-optimized tables in a
        non-mature file system. When a number of bytes greater than zero is specified, the
        append-optimized writer adds padding data up to that number in order to prevent data
        corruption due to file system errors. Each non-mature file system has a known safe write
        size that must be specified here when using Greenplum Database with that type of file
        system. This is commonly set to a multiple of the extent size of the file system; for
        example, Linux ext3 is 4096 bytes, so a value of 32768 is commonly used.</p>
      <table id="gp_safefswritesize_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_segment_connect_timeout">
    <title>gp_segment_connect_timeout</title>
    <body>
      <p>Time that the Greenplum interconnect will try to connect to a segment instance over the
        network before timing out. Controls the network connection timeout between master and
        primary segments, and primary to mirror segment replication processes.</p>
      <table id="gp_segment_connect_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">3min</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_segments_for_planner">
    <title>gp_segments_for_planner</title>
    <body>
      <p>Sets the number of primary segment instances for the Postgres Planner to
        assume in its cost and size estimates. If 0, then the value used is the actual number of
        primary segments. This variable affects the Postgres Planner's estimates of the number of
        rows handled by each sending and receiving process in Motion operators.</p>
      <table id="gp_segments_for_planner_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0-<i>n</i></entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_server_version">
    <title>gp_server_version</title>
    <body>
      <p>Reports the version number of the server as a string. A version modifier argument might be
        appended to the numeric portion of the version string, example: <i>5.0.0 beta</i>.</p>
      <table id="gp_server_version_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">String. Examples: <i>5.0.0</i></entry>
              <entry colname="col2">n/a</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_server_version_num">
    <title>gp_server_version_num</title>
    <body>
      <p>Reports the version number of the server as an integer. The number is guaranteed to always
        be increasing for each version and can be used for numeric comparisons. The major version is
        represented as is, the minor and patch versions are zero-padded to always be double digit
        wide.</p>
      <table id="gp_server_version_num_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"><i>Mmmpp</i> where <i>M</i> is the major version, <i>mm</i> is
                the minor version zero-padded and <i>pp</i> is the patch version zero-padded.
                Example: 50000 </entry>
              <entry colname="col2">n/a</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_session_id">
    <title>gp_session_id</title>
    <body>
      <p>A system assigned ID number for a client session. Starts counting from 1 when the master
        instance is first started.</p>
      <table id="gp_session_id_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1-<i>n</i></entry>
              <entry colname="col2">14</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_set_proc_affinity">
    <title>gp_set_proc_affinity</title>
    <body>
      <p>If enabled, when a Greenplum server process (postmaster) is started it will bind to a
        CPU.</p>
      <table id="gp_set_proc_affinity_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_set_read_only">
    <title>gp_set_read_only</title>
    <body>
      <p>Set to on to disable writes to the database. Any in progress transactions must finish
        before read-only mode takes affect.</p>
      <table id="gp_set_read_only_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_statistics_pullup_from_child_partition">
    <title>gp_statistics_pullup_from_child_partition</title>
    <body>
      <p>Enables the use of statistics from child tables when planning queries on the parent table
        by the Postgres Planner.</p>
      <table id="gp_statistics_pullup_from_child_partition_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_statistics_use_fkeys">
    <title>gp_statistics_use_fkeys</title>
    <body>
      <p>When enabled, the Postgres Planner will use the statistics of the referenced column in the
        parent table when a column is foreign key reference to another table instead of the
        statistics of the column itself.</p>
      <note>This parameter is deprecated and will be removed in a future Greenplum Database
        release.</note>
      <table id="gp_statistics_use_fkeys_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_use_legacy_hashops">
    <title>gp_use_legacy_hashops</title>
    <body>
      <p>For a table that is defined with a <codeph>DISTRIBUTED BY
          <varname>key_column</varname></codeph> clause, this parameter controls the hash algorithm
        that is used to distribute table data among segment instances. The default value is
          <codeph>false</codeph>, use the jump consistent hash algorithm. </p>
      <p>Setting the value to <codeph>true</codeph> uses the modulo hash algorithm that is
        compatible with Greenplum Database 5.x and earlier releases.</p>
      <table id="gp_interconnect_fc_method_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_vmem_idle_resource_timeout">
    <title>gp_vmem_idle_resource_timeout</title>
    <body>
      <p>If a database session is idle for longer than the time specified, the session will free
        system resources (such as shared memory), but remain connected to the database. This allows
        more concurrent connections to the database at one time.</p>
      <table id="gp_vmem_idle_resource_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">18s</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_vmem_protect_limit">
    <title>gp_vmem_protect_limit</title>
    <body>
      <note>The <codeph>gp_vmem_protect_limit</codeph> server configuration parameter is enforced
        only when resource queue-based resource management is active.</note>
      <p>Sets the amount of memory (in number of MBs) that all postgres processes of an active
        segment instance can consume. If a query causes this limit to be exceeded, memory will not
        be allocated and the query will fail. Note that this is a local parameter and must be set
        for every segment in the system (primary and mirrors). When setting the parameter value,
        specify only the numeric value. For example, to specify 4096MB, use the value
          <codeph>4096</codeph>. Do not add the units <codeph>MB</codeph> to the value.</p>
      <p>To prevent over-allocation of memory, these calculations can estimate a safe
          <codeph>gp_vmem_protect_limit</codeph> value.</p>
      <p>First calculate the value of <varname>gp_vmem</varname>. This is the Greenplum Database
        memory available on a host.<ul id="ul_ftf_yw5_rqb">
          <li>If the total system memory is less than 256 GB, use this
            formula:<codeblock>gp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7</codeblock></li>
          <li>If the total system memory is equal to or greater than 256 GB, use this formula:
            <codeblock>gp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.17</codeblock></li>
        </ul></p>
      <p>where <varname>SWAP</varname> is the host swap space and <varname>RAM</varname> is the RAM
        on the host in GB.</p>
      <p>Next, calculate the <varname>max_acting_primary_segments</varname>. This is the maximum
        number of primary segments that can be running on a host when mirror segments are activated
        due to a failure. With mirrors arranged in a 4-host block with 8 primary segments per host,
        for example, a single segment host failure would activate two or three mirror segments on
        each remaining host in the failed host's block. The
          <varname>max_acting_primary_segments</varname> value for this configuration is 11 (8
        primary segments plus 3 mirrors activated on failure). </p>
      <p>This is the calculation for <codeph>gp_vmem_protect_limit</codeph>. The value should be
        converted to MB.</p>
      <codeblock><codeph>gp_vmem_protect_limit</codeph> = <varname>gp_vmem</varname> / <varname>acting_primary_segments</varname></codeblock>
      <p>For scenarios where a large number of workfiles are generated, this is the calculation for
          <varname>gp_vmem</varname> that accounts for the workfiles.<ul id="ul_hpm_gnb_sqb">
          <li>If the total system memory is less than 256
            GB:<codeblock><varname>gp_vmem</varname> = ((<varname>SWAP</varname> + <varname>RAM</varname>) – (7.5GB + 0.05 * <varname>RAM</varname> - (300KB * <varname>total_#_workfiles</varname>))) / 1.7</codeblock></li>
          <li>If the total system memory is equal to or greater than 256
            GB:<codeblock><varname>gp_vmem</varname> = ((<varname>SWAP</varname> + <varname>RAM</varname>) – (7.5GB + 0.05 * <varname>RAM</varname> - (300KB * <varname>total_#_workfiles</varname>))) / 1.17</codeblock></li>
        </ul></p>
      <p>For information about monitoring and managing workfile usage, see the <cite>Greenplum
          Database Administrator Guide</cite>.</p>
      <p>Based on the <varname>gp_vmem</varname> value you can calculate the value for the
          <codeph>vm.overcommit_ratio</codeph> operating system kernel parameter. This parameter is
        set when you configure each Greenplum Database host.
        <codeblock>vm.overcommit_ratio = (<varname>RAM</varname> - (0.026 * <varname>gp_vmem</varname>)) / <varname>RAM</varname></codeblock></p>
      <note>The default value for the kernel parameter <codeph>vm.overcommit_ratio</codeph> in Red
        Hat Enterprise Linux is 50. </note>
      <p>For information about the kernel parameter, see the <cite>Greenplum Database Installation
          Guide</cite>.</p>
      <table id="gp_vmem_protect_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">8192</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_vmem_protect_segworker_cache_limit">
    <title>gp_vmem_protect_segworker_cache_limit</title>
    <body>
      <p>If a query executor process consumes more than this configured amount, then the process
        will not be cached for use in subsequent queries after the process completes. Systems with
        lots of connections or idle processes may want to reduce this number to free more memory on
        the segments. Note that this is a local parameter and must be set for every segment.</p>
      <table id="gp_vmem_protect_segworker_cache_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of megabytes</entry>
              <entry colname="col2">500</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_workfile_compression">
    <title>gp_workfile_compression</title>
    <body>
      <p>Specifies whether the temporary files created, when a hash aggregation or hash join
        operation spills to disk, are compressed. </p>
      <p>If your Greenplum Database installation uses serial ATA (SATA) disk drives, enabling
        compression might help to avoid overloading the disk subsystem with IO operations.</p>
      <table id="gp_workfile_compression_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_workfile_limit_files_per_query">
    <title>gp_workfile_limit_files_per_query</title>
    <body>
      <p> Sets the maximum number of temporary spill files (also known as workfiles) allowed per
        query per segment. Spill files are created when running a query that requires more memory
        than it is allocated. The current query is terminated when the limit is exceeded. </p>
      <p>Set the value to 0 (zero) to allow an unlimited number of spill files. master session
        reload</p>
      <table id="gp_workfile_limit_files_per_query_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">100000</entry>
              <entry colname="col3">master<p>session</p><p> reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_workfile_limit_per_query">
    <title>gp_workfile_limit_per_query</title>
    <body>
      <p>Sets the maximum disk size an individual query is allowed to use for creating temporary
        spill files at each segment. The default value is 0, which means a limit is not enforced. </p>
      <table id="gp_workfile_limit_per_query_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">kilobytes</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master <p>session </p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gp_workfile_limit_per_segment">
    <title>gp_workfile_limit_per_segment</title>
    <body>
      <p>Sets the maximum total disk size that all running queries are allowed to use for creating
        temporary spill files at each segment. The default value is 0, which means a limit is not
        enforced. </p>
      <table id="gp_workfile_limit_per_segment_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">kilobytes</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local <p>system </p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="gpperfmon_port">
    <title>gpperfmon_port</title>
    <body>
      <p>Sets the port on which all data collection agents communicate with the
        master. </p>
      <table id="gpperfmon_port_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">8888</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="ignore_checksum_failure">
    <title>ignore_checksum_failure</title>
    <body>
      <p>Only has effect if <xref href="#data_checksums" format="dita"/> is enabled.</p>
      <p>Greenplum Database uses checksums to prevent loading data that has been corrupted in the
        file system into memory managed by database processes. </p>
      <p>By default, when a checksum verify error occurs when reading a heap data page, Greenplum
        Database generates an error and prevents the page from being loaded into managed memory.
        When <codeph>ignore_checksum_failure</codeph> is set to on and a checksum verify failure
        occurs, Greenplum Database generates a warning, and allows the page to be read into managed
        memory. If the page is then updated it is saved to disk and replicated to the mirror. If the
        page header is corrupt an error is reported even if this option is enabled. </p>
      <note type="warning"> Setting <codeph>ignore_checksum_failure</codeph> to on may propagate or
        hide data corruption or lead to other serious problems. However, if a checksum failure has
        already been detected and the page header is uncorrupted, setting
          <codeph>ignore_checksum_failure</codeph> to on may allow you to bypass the error and
        recover undamaged tuples that may still be present in the table. </note>
      <p>The default setting is off, and it can only be changed by a superuser.</p>
      <table id="table_shd_32q_v1b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="integer_datetimes">
    <title>integer_datetimes</title>
    <body>
      <p>Reports whether PostgreSQL was built with support for 64-bit-integer dates and times. </p>
      <table id="integer_datetimes_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="IntervalStyle">
    <title>IntervalStyle</title>
    <body>
      <p>Sets the display format for interval values. The value <i>sql_standard</i> produces output
        matching SQL standard interval literals. The value <i>postgres</i> produces output matching
        PostgreSQL releases prior to 8.4 when the <xref href="#DateStyle" format="dita"/> parameter
        was set to ISO. </p>
      <p>The value <i>postgres_verbose</i> produces output matching Greenplum releases prior to 3.3
        when the <xref href="#DateStyle" format="dita"/> parameter was set to non-ISO output. </p>
      <p>The value <i>iso_8601</i> will produce output matching the time interval <i>format with
          designators</i> defined in section 4.4.3.2 of ISO 8601. See the <xref
          href="https://www.postgresql.org/docs/9.4/datatype-datetime.html" scope="external"
          format="html"><ph>PostgreSQL 9.4 documentation</ph></xref> for more information. </p>
      <table id="IntervalStyle_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"
                  >postgres<p>postgres_verbose</p><p>sql_standard</p><p>iso_8601</p></entry>
              <entry colname="col2">postgres</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="join_collapse_limit">
    <title>join_collapse_limit</title>
    <body>
      <p>The Postgres Planner will rewrite explicit inner <codeph>JOIN</codeph>
        constructs into lists of <codeph>FROM</codeph> items whenever a list of no more than this
        many items in total would result. By default, this variable is set the same as
          <i>from_collapse_limit</i>, which is appropriate for most uses. Setting it to 1 prevents
        any reordering of inner JOINs. Setting this variable to a value between 1 and
          <i>from_collapse_limit</i> might be useful to trade off planning time against the quality
        of the chosen plan (higher values produce better plans). </p>
      <table id="join_collapse_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">1-<i>n</i></entry>
              <entry colname="col2">20</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="krb_caseins_users">
    <title>krb_caseins_users</title>
    <body>
      <p>Sets whether Kerberos user names should be treated case-insensitively. The default is case
        sensitive (off).</p>
      <table id="krb_caseins_users_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="krb_server_keyfile">
    <title>krb_server_keyfile</title>
    <body>
      <p>Sets the location of the Kerberos server key file. </p>
      <table id="krb_server_keyfile_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">path and file name</entry>
              <entry colname="col2">unset</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_collate">
    <title>lc_collate</title>
    <body>
      <p>Reports the locale in which sorting of textual data is done. The value is determined when
        the Greenplum Database array is initialized. </p>
      <table id="lc_collate_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_ctype">
    <title>lc_ctype</title>
    <body>
      <p>Reports the locale that determines character classifications. The value is determined when
        the Greenplum Database array is initialized.</p>
      <table id="lc_ctype_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_messages">
    <title>lc_messages</title>
    <body>
      <p>Sets the language in which messages are displayed. The locales available depends on what
        was installed with your operating system - use <i>locale -a</i> to list available locales.
        The default value is inherited from the execution environment of the server. On some
        systems, this locale category does not exist. Setting this variable will still work, but
        there will be no effect. Also, there is a chance that no translated messages for the desired
        language exist. In that case you will continue to see the English messages. </p>
      <table id="lc_messages_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_monetary">
    <title>lc_monetary</title>
    <body>
      <p>Sets the locale to use for formatting monetary amounts, for example with the <i>to_char</i>
        family of functions. The locales available depends on what was installed with your operating
        system - use <i>locale -a</i> to list available locales. The default value is inherited from
        the execution environment of the server. </p>
      <table id="lc_monetary_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_numeric">
    <title>lc_numeric</title>
    <body>
      <p>Sets the locale to use for formatting numbers, for example with the <i>to_char</i> family
        of functions. The locales available depends on what was installed with your operating system
        - use <i>locale -a</i> to list available locales. The default value is inherited from the
        execution environment of the server. </p>
      <table id="lc_numeric_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lc_time">
    <title>lc_time</title>
    <body>
      <p>This parameter currently does nothing, but may in the future.</p>
      <table id="lc_time_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="listen_addresses">
    <title>listen_addresses</title>
    <body>
      <p>Specifies the TCP/IP address(es) on which the server is to listen for connections from
        client applications - a comma-separated list of host names and/or numeric IP addresses. The
        special entry * corresponds to all available IP interfaces. If the list is empty, only
        UNIX-domain sockets can connect.</p>
      <table id="listen_addresses_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">localhost,<p>host names,</p><p>IP addresses, </p><p>* (all
                  available IP interfaces)</p></entry>
              <entry colname="col2">*</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="local_preload_libraries">
    <title>local_preload_libraries</title>
    <body>
      <p>Comma separated list of shared library files to preload at the start of a client
        session.</p>
      <table id="local_preload_libraries_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"/>
              <entry colname="col2"/>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="lock_timeout">
    <title>lock_timeout</title>
    <body>
      <p>Abort any statement that waits longer than the specified number of
        milliseconds while attempting to acquire a lock on a table, index,
        row, or other database object. The time limit applies separately to
        each lock acquisition attempt. The limit applies both to explicit
        locking requests (such as <codeph>LOCK TABLE</codeph> or
        <codeph>SELECT FOR UPDATE</codeph>)
        and to implicitly-acquired locks. If <codeph>log_min_error_statement</codeph>
        is set to <codeph>ERROR</codeph> or lower, Greenplum Database logs the
        statement that timed out. A value of zero (the default) turns off this 
        lock wait monitoring.</p>
      <p>Unlike <codeph><xref href="#statement_timeout" format="dita"/></codeph>,
        this timeout can only occur while waiting for locks. Note that if
        <codeph>statement_timeout</codeph> is nonzero, it is rather pointless
        to set <codeph>lock_timeout</codeph> to the same or larger value,
        since the statement timeout would always trigger first.</p>
      <p>Greenplum Database uses the <codeph><xref href="#deadlock_timeout" format="dita"/></codeph>
        and <codeph><xref href="#gp_global_deadlock_detector_period" format="dita"/></codeph>
        to trigger local and global deadlock detection. Note that if <codeph>lock_timeout</codeph>
        is turned on and set to a value smaller than these deadlock detection
        timeouts, Greenplum Database will abort a statement before it would 
        ever trigger a deadlock check in that session.</p>
      <note>Setting <codeph>lock_timeout</codeph> in <codeph>postgresql.conf</codeph>
        is not recommended because it would affect all sessions</note>
      <table id="lock_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - <codeph>INT_MAX</codeph> millisecs</entry>
              <entry colname="col2">0 millisecs</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_autostats">
    <title>log_autostats</title>
    <body>
      <p>Logs information about automatic <codeph>ANALYZE</codeph> operations related to <xref
          href="#gp_autostats_mode" format="dita"/><ph> and <xref
            href="#gp_autostats_on_change_threshold" format="dita"/></ph>.</p>
      <table id="log_autostats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_connections">
    <title>log_connections</title>
    <body>
      <p>This outputs a line to the server log detailing each successful connection. Some client
        programs, like psql, attempt to connect twice while determining if a password is required,
        so duplicate "connection received" messages do not always indicate a problem.</p>
      <table id="log_connections_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_disconnections">
    <title>log_disconnections</title>
    <body>
      <p>This outputs a line in the server log at termination of a client session, and includes the
        duration of the session.</p>
      <table id="log_disconnections_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_dispatch_stats">
    <title>log_dispatch_stats</title>
    <body>
      <p>When set to "on," this parameter adds a log message with verbose information about the
        dispatch of the statement. </p>
      <table id="log_dispatch_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_duration">
    <title>log_duration</title>
    <body>
      <p>Causes the duration of every completed statement which satisfies <i>log_statement</i> to be
        logged.</p>
      <table id="log_duration_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_error_verbosity">
    <title>log_error_verbosity</title>
    <body>
      <p>Controls the amount of detail written in the server log for each message that is
        logged.</p>
      <table id="log_error_verbosity_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">TERSE<p>DEFAULT</p><p>VERBOSE</p></entry>
              <entry colname="col2">DEFAULT</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_executor_stats">
    <title>log_executor_stats</title>
    <body>
      <p>For each query, write performance statistics of the query executor to the server log. This
        is a crude profiling instrument. Cannot be enabled together with
        <i>log_statement_stats</i>.</p>
      <table id="log_executor_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_file_mode">
    <title>log_file_mode</title>
    <body>
      <p>On Unix systems this parameter sets the permissions for log files when
          <codeph>logging_collector</codeph> is enabled. The parameter value is expected to be a
        numeric mode specified in the format accepted by the <codeph>chmod</codeph> and
          <codeph>umask</codeph> system calls.</p>
      <table id="table_s4d_hfj_2qb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">numeric UNIX file permission mode (as accepted by the
                  <i>chmod</i> or <i>umask</i> commands)</entry>
              <entry colname="col2">0600</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_hostname">
    <title>log_hostname</title>
    <body>
      <p>By default, connection log messages only show the IP address of the connecting host.
        Turning on this option causes logging of the IP address and host name of the Greenplum
        Database master. Note that depending on your host name resolution setup this might impose a
        non-negligible performance penalty. </p>
      <table id="log_hostname_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_min_duration_statement">
    <title>log_min_duration_statement</title>
    <body>
      <p>Logs the statement and its duration on a single log line if its duration is greater than or
        equal to the specified number of milliseconds. Setting this to 0 will print all statements
        and their durations. -1 disables the feature. For example, if you set it to 250 then all SQL
        statements that run 250ms or longer will be logged. Enabling this option can be useful in
        tracking down unoptimized queries in your applications.</p>
      <table id="log_min_duration_statement_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of milliseconds, 0, -1</entry>
              <entry colname="col2">-1</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_min_error_statement">
    <title>log_min_error_statement</title>
    <body>
      <p>Controls whether or not the SQL statement that causes an error condition will also be
        recorded in the server log. All SQL statements that cause an error of the specified level or
        higher are logged. The default is ERROR. To effectively turn off logging of failing
        statements, set this parameter to PANIC.</p>
      <table id="log_min_error_statement_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">DEBUG5
                  <p>DEBUG4</p><p>DEBUG3</p><p>DEBUG2</p><p>DEBUG1</p><p>INFO</p><p>NOTICE</p><p>WARNING</p><p>ERROR</p><p>FATAL</p><p>PANIC</p></entry>
              <entry colname="col2">ERROR</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_min_messages">
    <title>log_min_messages</title>
    <body>
      <p>Controls which message levels are written to the server log. Each level includes all the
        levels that follow it. The later the level, the fewer messages are sent to the log.</p>
      <p>If the Greenplum Database PL/Container extension is installed. This parameter also controls
        the PL/Container log level. For information about the extension, see <xref
          href="../../analytics/pl_container.html" scope="external" format="html">PL/pgSQL Language</xref>.</p>
      <table id="log_min_messages_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">DEBUG5
                  <p>DEBUG4</p><p>DEBUG3</p><p>DEBUG2</p><p>DEBUG1</p><p>INFO</p><p>NOTICE</p><p>WARNING</p><p>LOG</p><p>ERROR</p><p>FATAL</p><p>PANIC</p></entry>
              <entry colname="col2">WARNING</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_parser_stats">
    <title>log_parser_stats</title>
    <body>
      <p>For each query, write performance statistics of the query parser to the server log. This is
        a crude profiling instrument. Cannot be enabled together with
        <i>log_statement_stats</i>.</p>
      <table id="log_parser_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_planner_stats">
    <title>log_planner_stats</title>
    <body>
      <p>For each query, write performance statistics of the Postgres Planner to the
        server log. This is a crude profiling instrument. Cannot be enabled together with
          <i>log_statement_stats</i>.</p>
      <table id="log_planner_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_rotation_age">
    <title>log_rotation_age</title>
    <body>
      <p>Determines the amount of time Greenplum Database writes messages to the active log file.
        When this amount of time has elapsed, the file is closed and a new log file is created. Set
        to zero to disable time-based creation of new log files.</p>
      <table id="log_rotation_age_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Any valid time expression (number and unit)</entry>
              <entry colname="col2">1d</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_rotation_size">
    <title>log_rotation_size</title>
    <body>
      <p>Determines the size of an individual log file that triggers rotation. When the log file
        size is equal to or greater than this size, the file is closed and a new log file is
        created. Set to zero to disable size-based creation of new log files. </p>
      <p>The maximum value is INT_MAX/1024. If an invalid value is specified, the default value is
        used. INT_MAX is the largest value that can be stored as an integer on your system. </p>
      <table id="log_rotation_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of kilobytes</entry>
              <entry colname="col2">1048576</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_statement">
    <title>log_statement</title>
    <body>
      <p>Controls which SQL statements are logged. DDL logs all data definition commands like
        CREATE, ALTER, and DROP commands. MOD logs all DDL statements, plus INSERT, UPDATE, DELETE,
        TRUNCATE, and COPY FROM. PREPARE and EXPLAIN ANALYZE statements are also logged if their
        contained command is of an appropriate type.</p>
      <table id="log_statement_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">NONE<p>DDL</p><p>MOD</p><p>ALL</p></entry>
              <entry colname="col2">ALL</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_statement_stats">
    <title>log_statement_stats</title>
    <body>
      <p>For each query, write total performance statistics of the query parser, planner, and
        executor to the server log. This is a crude profiling instrument.</p>
      <table id="log_statement_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_temp_files">
    <title>log_temp_files</title>
    <body>
      <p>Controls logging of temporary file names and sizes. Temporary files can be created for
        sorts, hashes, temporary query results and spill files. A log entry is made in
          <codeph>pg_log</codeph> for each temporary file when it is deleted. Depending on the
        source of the temporary files, the log entry could be created on either the master and/or
        segments. A <codeph>log_temp_files</codeph> value of zero logs all temporary file
        information, while positive values log only files whose size is greater than or equal to the
        specified number of kilobytes. The default setting is <codeph>-1</codeph>, which disables
        logging. Only superusers can change this setting.</p>
      <table id="log_temp_files_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Integer</entry>
              <entry colname="col2">-1</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_timezone">
    <title>log_timezone</title>
    <body>
      <p>Sets the time zone used for timestamps written in the log. Unlike <xref href="#TimeZone"
          format="dita"/>, this value is system-wide, so that all sessions will report timestamps
        consistently. The default is <codeph>unknown</codeph>, which means to use whatever the
        system environment specifies as the time zone.</p>
      <table id="log_timezone_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2">unknown</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="log_truncate_on_rotation">
    <title>log_truncate_on_rotation</title>
    <body>
      <p>Truncates (overwrites), rather than appends to, any existing log file of the same name.
        Truncation will occur only when a new file is being opened due to time-based rotation. For
        example, using this setting in combination with a log_filename such as
          <codeph>gpseg#-%H.log</codeph> would result in generating twenty-four hourly log files and
        then cyclically overwriting them. When off, pre-existing files will be appended to in all
        cases.</p>
      <table id="log_truncate_on_rotation_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="maintenance_work_mem">
    <title>maintenance_work_mem</title>
    <body>
      <p>Specifies the maximum amount of memory to be used in maintenance operations, such as
          <codeph>VACUUM</codeph> and <codeph>CREATE INDEX</codeph>. It defaults to 16 megabytes
        (16MB). Larger settings might improve performance for vacuuming and for restoring database
        dumps.</p>
      <table id="table_wfs_tfp_qcb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Integer</entry>
              <entry colname="col2">16</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_appendonly_tables">
    <title>max_appendonly_tables</title>
    <body>
      <p>Sets the maximum number of concurrent transactions that can write to or update
        append-optimized tables. Transactions that exceed the maximum return an error.</p>
      <p>Operations that are counted are <codeph>INSERT</codeph>, <codeph>UPDATE</codeph>,
          <codeph>COPY</codeph>, and <codeph>VACUUM</codeph> operations. The limit is only for
        in-progress transactions. Once a transaction ends (either aborted or committed), it is no
        longer counted against this limit.</p>
      <note>Greenplum Database limits the maximum number of concurrent inserts into an append-only table to 127.</note>
      <p>For operations against a partitioned table, each subpartition (child table) that is an
        append-optimized table and is changed counts as a single table towards the maximum. For
        example, a partitioned table <codeph>p_tbl</codeph> is defined with three subpartitions that
        are append-optimized tables <codeph>p_tbl_ao1</codeph>, <codeph>p_tbl_ao2</codeph>, and
          <codeph>p_tbl_ao3</codeph>. An <codeph>INSERT</codeph> or <codeph>UPDATE</codeph> command
        against the partitioned table <codeph>p_tbl</codeph> that changes append-optimized tables
          <codeph>p_tbl_ao1</codeph> and <codeph>p_tbl_ao2</codeph> is counted as two transactions. </p>
      <p>Increasing the limit allocates more shared memory on the master host at server start.</p>
      <table id="max_appendonly_tables_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer > 0</entry>
              <entry colname="col2">10000</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_connections">
    <title>max_connections</title>
    <body>
      <p>The maximum number of concurrent connections to the database server. In a Greenplum
        Database system, user client connections go through the Greenplum master instance only.
        Segment instances should allow 5-10 times the amount as the master. When you increase this
        parameter, <xref href="#max_prepared_transactions" format="dita"/> must be increased as
        well. For more information about limiting concurrent connections, see "Configuring Client
        Authentication" in the <i>Greenplum Database Administrator Guide</i>.</p>
      <p>Increasing this parameter may cause Greenplum Database to request more shared
        memory. Increasing this parameter might cause Greenplum Database to request more shared
        memory. See <xref href="#shared_buffers" format="dita"/> for information about Greenplum
        server instance shared memory buffers.</p>
      <table id="max_connections_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">10 - 8388607</entry>
              <entry colname="col2">250 on master<p>750 on segments</p></entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_files_per_process">
    <title>max_files_per_process</title>
    <body>
      <p>Sets the maximum number of simultaneously open files allowed to each server subprocess. If
        the kernel is enforcing a safe per-process limit, you don't need to worry about this
        setting. Some platforms such as BSD, the kernel will allow individual processes to open many
        more files than the system can really support.</p>
      <table id="max_files_per_process_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">1000</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_function_args">
    <title>max_function_args</title>
    <body>
      <p>Reports the maximum number of function arguments. </p>
      <table id="max_function_args_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">100</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_identifier_length">
    <title>max_identifier_length</title>
    <body>
      <p>Reports the maximum identifier length.</p>
      <table id="max_identifier_length_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">63</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_index_keys">
    <title>max_index_keys</title>
    <body>
      <p>Reports the maximum number of index keys. </p>
      <table id="max_index_keys_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">32</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_locks_per_transaction">
    <title>max_locks_per_transaction</title>
    <body>
      <p>The shared lock table is created with room to describe locks on
          <i>max_locks_per_transaction</i> * (<i>max_connections</i> +
          <i>max_prepared_transactions</i>) objects, so no more than this many distinct objects can
        be locked at any one time. This is not a hard limit on the number of locks taken by any one
        transaction, but rather a maximum average value. You might need to raise this value if you
        have clients that touch many different tables in a single transaction.</p>
      <table id="max_locks_per_transaction_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">128</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_prepared_transactions">
    <title>max_prepared_transactions</title>
    <body>
      <p>Sets the maximum number of transactions that can be in the prepared state simultaneously.
        Greenplum uses prepared transactions internally to ensure data integrity across the
        segments. This value must be at least as large as the value of <xref href="#max_connections"
          format="dita"/> on the master. Segment instances should be set to the same value as the
        master. </p>
      <table id="max_prepared_transactions_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">250 on master<p>250 on segments</p></entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_resource_portals_per_transaction">
    <title>max_resource_portals_per_transaction</title>
    <body>
      <note>The <codeph>max_resource_portals_per_transaction</codeph> server configuration parameter
        is enforced only when resource queue-based resource management is active.</note>
      <p>Sets the maximum number of simultaneously open user-declared cursors allowed per
        transaction. Note that an open cursor will hold an active query slot in a resource queue.
        Used for resource management.</p>
      <table id="max_resource_portals_per_transaction_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">64</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_resource_queues">
    <title>max_resource_queues</title>
    <body>
      <note>The <codeph>max_resource_queues</codeph> server configuration parameter is enforced only
        when resource queue-based resource management is active.</note>
      <p>Sets the maximum number of resource queues that can be created in a Greenplum Database
        system. Note that resource queues are system-wide (as are roles) so they apply to all
        databases in the system.</p>
      <table id="max_resource_groups_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">9</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_slot_wal_keep_size">
    <title>max_slot_wal_keep_size</title>
    <body>
      <p>Sets the maximum size in megabytes of Write-Ahead Logging (WAL) files on disk per segment
        instance that can be reserved when Greenplum streams data to the mirror segment instance or
        standby master to keep it synchronized with the corresponding primary segment instance or
        master. The default is -1, Greenplum can retain an unlimited amount of WAL files on
        disk.</p>
      <p>If the file size exceeds the maximum size, the files are released and are available for
        deletion. A mirror or standby may no longer be able to continue replication due to removal
        of required WAL files.</p>
      <table id="table_dwl_5vt_4mb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Integer</entry>
              <entry colname="col2">-1</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_stack_depth">
    <title>max_stack_depth</title>
    <body>
      <p>Specifies the maximum safe depth of the server's execution stack. The ideal setting for
        this parameter is the actual stack size limit enforced by the kernel (as set by <i>ulimit
          -s</i> or local equivalent), less a safety margin of a megabyte or so. Setting the
        parameter higher than the actual kernel limit will mean that a runaway recursive function
        can crash an individual backend process.</p>
      <table id="max_stack_depth_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of kilobytes</entry>
              <entry colname="col2">2MB</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="max_statement_mem">
    <title>max_statement_mem</title>
    <body>
      <p>Sets the maximum memory limit for a query. Helps avoid out-of-memory errors on a segment
        host during query processing as a result of setting <codeph><xref href="#statement_mem"
            format="dita"/>
        </codeph>too high.</p>
      <p>Taking into account the configuration of a single segment host,
        calculate <codeph>max_statement_mem</codeph> as follows:</p>
      <p>
        <codeph>(seghost_physical_memory) / (average_number_concurrent_queries)</codeph>
      </p>
      <p>When changing both <codeph>max_statement_mem</codeph> and <codeph>statement_mem</codeph>,
          <codeph>max_statement_mem</codeph> must be changed first, or listed first in the
          <systemoutput>postgresql.conf</systemoutput> file.</p>
      <table id="max_statement_mem_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of kilobytes</entry>
              <entry colname="col2">2000MB</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="memory_spill_ratio">
    <title>memory_spill_ratio</title>
    <body>
      <note>The <codeph>memory_spill_ratio</codeph> server configuration parameter is enforced only
        when resource group-based resource management is active.</note>
      <p>Sets the memory usage threshold percentage for memory-intensive operators in a transaction.
        When a transaction reaches this threshold, it spills to disk.</p>
      <p>The default <codeph>memory_spill_ratio</codeph> percentage is the value defined for the
        resource group assigned to the currently active role. You can set
          <codeph>memory_spill_ratio</codeph> at the session level to selectively set this limit on
        a per-query basis. For example, if you have a specific query that spills to disk and
        requires more memory, you may choose to set a larger <codeph>memory_spill_ratio</codeph> to
        increase the initial memory allocation.</p>
      <p>You can specify an integer percentage value from 0 to 100 inclusive. If you
        specify a value of 0, Greenplum Database uses the
            <xref href="#statement_mem" format="dita"><codeph>statement_mem</codeph></xref>
        server configuration parameter value to control the initial query operator memory
        amount.</p>
      <table id="memory_spill_ratio_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - 100</entry>
              <entry colname="col2">20</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer">
    <title>optimizer</title>
    <body>
      <p>Enables or disables GPORCA when running SQL queries. The default is <codeph>on</codeph>. If
        you disable GPORCA, Greenplum Database uses only the Postgres Planner. </p>
      <p>GPORCA co-exists with the Postgres Planner. With GPORCA enabled, Greenplum Database
        uses GPORCA to generate an execution plan for a query when possible. If GPORCA cannot be
        used, then the Postgres Planner is used. </p>
      <p>The <cmdname>optimizer</cmdname> parameter can be set for a database system, an individual
        database, or a session or query.</p>
      <p>For information about the Postgres Planner and GPORCA, see <xref
          href="../../admin_guide/query/topics/query.html" scope="external"
          format="html">Querying Data</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator
        Guide</cite></ph>.</p>
      <table id="optimizer_guc_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_analyze_root_partition">
    <title>optimizer_analyze_root_partition</title>
    <body>
      <p>For a partitioned table, controls whether the <codeph>ROOTPARTITION</codeph> keyword is
        required to collect root partition statistics when the <cmdname>ANALYZE</cmdname> command is
        run on the table. GPORCA uses the root partition statistics when generating a query plan.
        The Postgres Planner does not use these statistics. </p>
      <p>The default setting for the parameter is <codeph>on</codeph>, the <codeph>ANALYZE</codeph>
        command can collect root partition statistics without the <codeph>ROOTPARTITION</codeph>
        keyword. Root partition statistics are collected when you run <codeph>ANALYZE</codeph> on
        the root partition, or when you run <codeph>ANALYZE</codeph> on a child leaf partition of
        the partitioned table and the other child leaf partitions have statistics. When the value is
          <codeph>off</codeph>, you must run <codeph>ANALZYE ROOTPARTITION</codeph> to collect root
        partition statistics. </p>
      <p>When the value of the server configuration parameter <codeph><xref href="#optimizer"
            format="dita"/></codeph> is <codeph>on</codeph> (the default), the value of this
        parameter should also be <codeph>on</codeph>. For information about collecting table
        statistics on partitioned tables, see <codeph><xref href="../sql_commands/ANALYZE.xml"
          /></codeph>.</p>
      <p>For information about the Postgres Planner and GPORCA, see <xref
          href="../../admin_guide/query/topics/query.html" scope="external"
          format="html">Querying Data</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator
        Guide</cite></ph>.</p>
      <table id="table_gj5_k5l_vp">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_array_expansion_threshold">
    <title>optimizer_array_expansion_threshold</title>
    <body>
      <p>When GPORCA is enabled (the default) and is processing a query that contains a predicate
        with a constant array, the <codeph>optimizer_array_expansion_threshold</codeph> parameter
        limits the optimization process based on the number of constants in the array. If the array
        in the query predicate contains more than the number elements specified by parameter, GPORCA
        disables the transformation of the predicate into its disjunctive normal form during query
        optimization. </p>
      <p>The default value is 100. </p>
      <p>For example, when GPORCA is running a query that contains an <codeph>IN</codeph> clause
        with more than 100 elements, GPORCA does not transform the predicate into its disjunctive
        normal form during query optimization to reduce optimization time consume less memory. The
        difference in query processing can be seen in the filter condition for the
          <codeph>IN</codeph> clause of the query <codeph>EXPLAIN</codeph> plan.</p>
      <p>Changing the value of this parameter changes the trade-off between a shorter optimization
        time and lower memory consumption, and the potential benefits from constraint derivation
        during query optimization, for example conflict detection and partition elimination.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_b4p_3rh_hw">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Integer > 0</entry>
              <entry colname="col2">25</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_control">
    <title>optimizer_control</title>
    <body>
      <p>Controls whether the server configuration parameter <cmdname>optimizer</cmdname> can be
        changed with <cmdname>SET</cmdname>, the <cmdname>RESET</cmdname> command, or the Greenplum
        Database utility <cmdname>gpconfig</cmdname>. If the <cmdname>optimizer_control</cmdname>
        parameter value is <codeph>on</codeph>, users can set the <cmdname>optimizer</cmdname>
        parameter. If the <cmdname>optimizer_control</cmdname> parameter value is
          <codeph>off</codeph>, the <cmdname>optimizer</cmdname> parameter cannot be changed.</p>
      <table id="application_name_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_cost_model">
    <title>optimizer_cost_model</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter controls the cost
        model that GPORCA chooses for bitmap scans used with bitmap indexes or
        with btree indexes on AO tables.</p>
      <ul>
        <li><codeph>legacy</codeph> - preserves the calibrated cost model used by GPORCA
          in Greenplum Database releases 6.13 and earlier</li>
        <li><codeph>calibrated</codeph> - improves cost estimates for indexes</li>
        <li><codeph>experimental</codeph> - reserved for future experimental cost models;
           currently equivalent to the <codeph>calibrated</codeph> model</li>
      </ul>
      <p>The default cost model, <codeph>calibrated</codeph>, is more likely to choose
        a faster bitmap index with nested loop joins instead of hash joins.</p>
      <table id="optimizer_cost_model_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">legacy<p>calibrated</p><p>experimental</p></entry>
              <entry colname="col2">calibrated</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>


  <topic id="optimizer_cte_inlining_bound">
    <title>optimizer_cte_inlining_bound</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter controls the amount of inlining
        performed for common table expression (CTE) queries (queries that contain a
          <codeph>WHERE</codeph> clause). The default value, 0, disables inlining.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_dq1_xlj_tz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Decimal >= 0</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_dpe_stats">
    <title>optimizer_dpe_stats</title>
    <body>
      <p>When GPORCA is enabled (the default) and this parameter is <codeph>true</codeph> (the default), GPORCA derives statistics that 
	allow it to more accurately estimate the number of rows to be scanned during dynamic partition elimination.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or query.</p>
      <table id="dpe_stats_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_associativity">
    <title>optimizer_enable_associativity</title>
    <body>
      <p dir="ltr">When GPORCA is enabled (the default), this parameter controls whether the join
        associativity transform is enabled during query optimization. The transform analyzes join
        orders. For the default value <codeph>off</codeph>, only the GPORCA dynamic programming
        algorithm for analyzing join orders is enabled. The join associativity transform largely
        duplicates the functionality of the newer dynamic programming algorithm. </p>
      <p dir="ltr">If the value is <codeph>on</codeph>, GPORCA can use the associativity transform
        during query optimization.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_zqr_knr_hdb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_dml">
    <title>optimizer_enable_dml</title>
    <body>
      <p>When GPORCA is enabled (the default) and this parameter is <codeph>true</codeph> (the
        default), GPORCA attempts to run DML commands such as <codeph>INSERT</codeph>,
          <codeph>UPDATE</codeph>, and <codeph>DELETE</codeph>. If GPORCA cannot run the
        command, Greenplum Database falls back to the Postgres Planner.</p>
      <p>When set to <codeph>false</codeph>, Greenplum Database always falls back to the Postgres
        Planner when performing DML commands.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_igw_npf_fjb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_indexonlyscan">
    <title>optimizer_enable_indexonlyscan</title>
    <body>
      <p>When GPORCA is enabled (the default) and this parameter is
        <codeph>true</codeph> (the default), GPORCA can generate index-only scan
        plan types for B-tree indexes. GPORCA accesses the index values only,
        not the data blocks of the relation. This provides a query execution
        performance improvement, particularly when the table has been vacuumed,
        has wide columns, and GPORCA does not need to fetch any data blocks
        (for example, they are visible).</p>
      <p>When disabled (<codeph>false</codeph>), GPORCA does not generate
        index-only scan plan types.</p>
      <p>The parameter can be set for a database system, an individual database,
        or a session or query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_igw_npf_fjb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_master_only_queries">
    <title>optimizer_enable_master_only_queries</title>
    <body>
      <p dir="ltr">When GPORCA is enabled (the default), this parameter allows GPORCA to run
        catalog queries that run only on the Greenplum Database master. For the default value
          <codeph>off</codeph>, only the Postgres Planner can run catalog queries that run only
        on the Greenplum Database master.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <note>Enabling this parameter decreases performance of short running catalog queries. To avoid
        this issue, set this parameter only for a session or a query. </note>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_ykk_rg5_gv">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_multiple_distinct_aggs">
    <title>optimizer_enable_multiple_distinct_aggs</title>
    <body>
      <p dir="ltr">When GPORCA is enabled (the default), this parameter allows GPORCA to support
        Multiple Distinct Qualified Aggregates, such as <codeph>SELECT count(DISTINCT
          a),sum(DISTINCT b) FROM foo</codeph>. This parameter is disabled by default because its
        plan is generally suboptimal in comparison to the plan generated by the Postgres
        planner.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_zct_qn1_bpb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_enable_orderedagg">
    <title>optimizer_enable_orderedagg</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter determines whether or not
        GPORCA generates a query plan for ordered aggregates. This parameter is disabled by
        default; GPORCA does not generate a plan for a query that includes an ordered
        aggregate, and the query falls back to the Postgres Planner.</p>
      <p>You can set this parameter for a database system, an individual database,
        or a session or query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" format="html" scope="external">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_zct_qn1_bpb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_force_agg_skew_avoidance">
    <title>optimizer_force_agg_skew_avoidance</title>
    <body>
      <p dir="ltr">When GPORCA is enabled (the default), this parameter affects the query plan
        alternatives that GPORCA considers when 3 stage aggregate plans are generated. When the
        value is <codeph>true</codeph>, the default, GPORCA considers only 3 stage aggregate plans
        where the intermediate aggregation uses the <codeph>GROUP BY</codeph> and
          <codeph>DISTINCT</codeph> columns for distribution to reduce the effects of processing
        skew. </p>
      <p>If the value is <codeph>false</codeph>, GPORCA can also consider a plan that uses
          <codeph>GROUP BY</codeph> columns for distribution. These plans might perform poorly when
        processing skew is present.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_ebp_rcr_cgb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_force_comprehensive_join_implementation">
    <title>optimizer_force_comprehensive_join_implementation</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter affects its consideration of
        nested loop join and hash join alternatives.</p>
      <p>The default value is <codeph>false</codeph>, GPORCA does not consider nested loop
        join alternatives when a hash join is available, which significantly improves
        optimization performance for most queries. When set to <codeph>true</codeph>,
        GPORCA will explore nested loop join alternatives even when a hash join is possible.</p>
      <table id="table_ofcji">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_force_multistage_agg">
    <title>optimizer_force_multistage_agg</title>
    <body>
      <p>For the default settings, GPORCA is enabled and this parameter is <codeph>false</codeph>,
        GPORCA makes a cost-based choice between a one- or two-stage aggregate plan for a scalar
        distinct qualified aggregate. When <codeph>true</codeph>, GPORCA chooses a multi-stage
        aggregate plan when such a plan alternative is generated.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query. </p>
      <table id="table_kmz_vnr_tz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_force_three_stage_scalar_dqa">
    <title>optimizer_force_three_stage_scalar_dqa</title>
    <body>
      <p>For the default settings, GPORCA is enabled and this parameter is <codeph>true</codeph>,
        GPORCA chooses a plan with multistage aggregates when such a plan alternative is generated.
        When the value is <codeph>false</codeph>, GPORCA makes a cost based choice rather than a
        heuristic choice.</p>
      <p>The parameter can be set for a database system, an individual database, or a session, or
        query.</p>
      <table id="table_dqy_vnr_tz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_join_arity_for_associativity_commutativity">
    <title>optimizer_join_arity_for_associativity_commutativity</title>
    <body>
      <p>The value is an optimization hint to limit the number of join associativity and join
        commutativity transformations explored during query optimization. The limit controls the
        alternative plans that GPORCA considers during query optimization. For example, the default
        value of 18 is an optimization hint for GPORCA to stop exploring join associativity and join
        commutativity transformations when an n-ary join operator has more than 18 children during
        optimization.</p>
      <p>For a query with a large number of joins, specifying a lower value improves query
        performance by limiting the number of alternate query plans that GPORCA evaluates. However,
        setting the value too low might cause GPORCA to generate a query plan that performs
        sub-optimally.</p>
      <p>This parameter has no effect when the <codeph>optimizer_join_order</codeph> parameter is
        set to <codeph>query</codeph> or <codeph>greedy</codeph>.</p>
      <p>This parameter can be set for a database system or a session.</p>
      <table id="table_lfq_3zg_nbb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer > 0</entry>
              <entry colname="col2">18</entry>
              <entry colname="col3">local<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_join_order">
    <title>optimizer_join_order</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter sets the join
        enumeration algorithm:</p>
      <ul id="ul_dpf_cyr_1cb">
        <li><codeph>query</codeph> - Uses the join order specified in the query.</li>
        <li><codeph>greedy</codeph> - Evaluates the join order specified in the query and
          alternatives based on minimum cardinalities of the relations in the joins.</li>
        <li><codeph>exhaustive</codeph> - Applies transformation rules to find and
          evaluate up to a configurable threshold number 
          (<codeph>optimizer_join_order_threshold</codeph>, default 10) of n-way
          inner joins, and then changes to and uses the
          <codeph>greedy</codeph> method beyond that. While planning time drops
          significantly at that point, plan quality and execution time may get
          worse.</li>
        <li><codeph>exhaustive2</codeph> - Operates with an emphasis on
          generating join orders that are suitable for dynamic partition
          elimination. This algorithm applies transformation rules to find and
          evaluate n-way inner and outer joins. When evaluating very large joins
          with more than <codeph>optimizer_join_order_threshold</codeph>
          (default 10) tables, this algorithm employs a gradual transition to the
          <codeph>greedy</codeph> method; planning time goes up smoothly as the
          query gets more complicated, and plan quality and execution time only
          gradually degrade. <codeph>exhaustive2</codeph> provides a good
          trade-off between planning time and execution time for many queries.</li>
      </ul>
      <p>Setting this parameter to
          <codeph>query</codeph> or <codeph>greedy</codeph> can generate a suboptimal query plan.
        However, if the administrator is confident that a satisfactory plan is generated with the
          <codeph>query</codeph> or <codeph>greedy</codeph> setting, query optimization time may be
        improved by setting the parameter to the lower optimization level.</p>
      <p>When you set this parameter to <codeph>query</codeph> or <codeph>greedy</codeph>,
        GPORCA ignores the
          <codeph>optimizer_join_order_threshold </codeph> parameter. </p>
      <p>This parameter can be set for an individual database, a session, or a query. </p>
      <table id="table_ucb_str_1cb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">query<p>greedy</p><p>exhaustive</p><p>exhaustive2</p></entry>
              <entry colname="col2">exhaustive</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_join_order_threshold">
    <title>optimizer_join_order_threshold</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter sets the maximum number of join
        children for which GPORCA will use the dynamic programming-based join ordering algorithm.
        This threshold restricts the search effort for a join plan to reasonable limits.</p>
      <p>GPORCA examines the <codeph>optimizer_join_order_threshold</codeph> 
        parameter when <codeph>optimizer_join_order</codeph> is set to
        <codeph>exhaustive</codeph> or <codeph>exhaustive2</codeph>. GPORCA
        ignores this parameter when <codeph>optimizer_join_order</codeph> is
        set to <codeph>query</codeph> or <codeph>greedy</codeph>.</p>
        <p>You can set this value for a single query or for an entire session.</p>
      <table id="table_z1c_bqp_jx">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - 12</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_mdcache_size">
    <title>optimizer_mdcache_size</title>
    <body>
      <p dir="ltr">Sets the maximum amount of memory on the Greenplum Database master that GPORCA
        uses to cache query metadata (optimization data) during query optimization. The memory limit
        session based. GPORCA caches query metadata during query optimization with the default
        settings: GPORCA is enabled and <codeph><xref href="#optimizer_metadata_caching"
            format="dita">optimizer_metadata_caching</xref></codeph> is <codeph>on</codeph>. </p>
      <p dir="ltr">The default value is 16384 (16MB). This is an optimal value that has been
        determined through performance analysis.</p>
      <p dir="ltr">You can specify a value in KB, MB, or GB. The default unit is KB. For example, a
        value of 16384 is 16384KB. A value of 1GB is the same as 1024MB or 1048576KB. If the value
        is 0, the size of the cache is not limited. </p>
      <p>This parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="optimizer_mdcache_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Integer >= 0</entry>
              <entry colname="col2">16384</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_metadata_caching">
    <title>optimizer_metadata_caching</title>
    <body>
      <p dir="ltr" id="docs-internal-guid-698e4ca6-574c-b75b-5cbe-8c7bfd011557">When GPORCA is
        enabled (the default), this parameter specifies whether GPORCA caches query metadata
        (optimization data) in memory on the Greenplum Database master during query optimization.
        The default for this parameter is <codeph>on</codeph>, enable caching. The cache is session
        based. When a session ends, the cache is released. If the amount of query metadata exceeds
        the cache size, then old, unused metadata is evicted from the cache. </p>
      <p dir="ltr">If the value is <codeph>off</codeph>, GPORCA does not cache metadata during query
        optimization.</p>
      <p>This parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <p>The server configuration parameter <codeph><xref href="#optimizer_mdcache_size"
            format="dita"/></codeph> controls the size of the query metadata cache.</p>
      <table id="optimizer_metadata_caching_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_minidump">
    <title>optimizer_minidump</title>
    <body>
      <p>GPORCA generates minidump files to describe the optimization context for a given query. The
        information in the file is not in a format that can be easily used for debugging or
        troubleshooting. The minidump file is located under the master data directory and uses the
        following naming format:</p>
      <p>
        <codeph>Minidump_<varname>date</varname>_<varname>time</varname>.mdp</codeph>
      </p>
      <p>The minidump file contains this query related information:<ul id="ul_r2x_qbg_jr">
          <li>Catalog objects including data types, tables, operators, and statistics required by
            GPORCA</li>
          <li>An internal representation (DXL) of the query</li>
          <li>An internal representation (DXL) of the plan produced by GPORCA</li>
          <li>System configuration information passed to GPORCA such as server configuration
            parameters, cost and statistics configuration, and number of segments</li>
          <li>A stack trace of errors generated while optimizing the query</li>
        </ul></p>
      <p>Setting this parameter to <codeph>ALWAYS</codeph> generates a minidump for all queries. Set
        this parameter to <codeph>ONERROR</codeph> to minimize total optimization time. </p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="optimizer_minidump">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">ONERROR<p>ALWAYS</p></entry>
              <entry colname="col2">ONERROR</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_nestloop_factor">
    <title>optimizer_nestloop_factor</title>
    <body>
      <p>This parameter adds a costing factor to GPORCA to prioritize hash joins instead of nested
        loop joins during query optimization. The default value of 1024 was chosen after evaluating
        numerous workloads with uniformly distributed data. 1024 should be treated as the practical
        upper bound setting for this parameter. If you find the GPORCA selects hash joins more often
        than it should, reduce the value to shift the costing factor in favor of nested loop
        joins.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_zy2_xlj_tz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">INT_MAX > 1</entry>
              <entry colname="col2">1024</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_parallel_union">
    <title>optimizer_parallel_union</title>
    <body>
      <p>When GPORCA is enabled (the default), <codeph>optimizer_parallel_union</codeph> controls
        the amount of parallelization that occurs for queries that contain a <codeph>UNION</codeph>
        or <codeph>UNION ALL</codeph> clause. </p>
      <p>When the value is <codeph>off</codeph>, the default, GPORCA generates a query plan where
        each child of an APPEND(UNION) operator is in the same slice as the APPEND operator. During
        query execution, the children are run in a sequential manner. </p>
      <p>When the value is <codeph>on</codeph>, GPORCA generates a query plan where a redistribution
        motion node is under an APPEND(UNION) operator. During query execution, the children and the
        parent APPEND operator are on different slices, allowing the children of the APPEND(UNION)
        operator to run in parallel on segment instances.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_q4c_34y_rw">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id=" optimizer_penalize_skew">
    <title>optimizer_penalize_skew</title>
    <body>
      <p dir="ltr">When GPORCA is enabled (the default), this parameter allows GPORCA to penalize
        the local cost of a HashJoin with a skewed Redistribute Motion as child to favor a Broadcast
        Motion during query optimization. The default value is <codeph>true</codeph>. </p>
      <p dir="ltr">GPORCA determines there is skew for a Redistribute Motion when the NDV (number of
        distinct values) is less than the number of segments. </p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_s11_lln_t3b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_print_missing_stats">
    <title>optimizer_print_missing_stats</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter controls the display of table column
        information about columns with missing statistics for a query. The default value is
          <codeph>true</codeph>, display the column information to the client. When the value is
          <codeph>false</codeph>, the information is not sent to the client.</p>
      <p>The information is displayed during query execution, or with the <codeph>EXPLAIN</codeph>
        or <codeph>EXPLAIN ANALYZE</codeph> commands.</p>
      <p>The parameter can be set for a database system, an individual database, or a session. </p>
      <table id="table_z35_fsj_tz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_print_optimization_stats">
    <title>optimizer_print_optimization_stats</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter enables logging of GPORCA query
        optimization statistics for various optimization stages for a query. The default value is
          <systemoutput>off</systemoutput>, do not log optimization statistics. To log the
        optimization statistics, this parameter must be set to <systemoutput>on</systemoutput> and
        the parameter <systemoutput>client_min_messages</systemoutput> must be set to
          <systemoutput>log</systemoutput>.<ul id="ul_ysz_tx2_5z">
          <li><codeph>set optimizer_print_optimization_stats = on;</codeph></li>
          <li><codeph>set client_min_messages = 'log';</codeph></li>
        </ul></p>
      <p>The information is logged during query execution, or with the <codeph>EXPLAIN</codeph> or
          <codeph>EXPLAIN ANALYZE</codeph> commands.</p>
      <p>This parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_pdm_kx2_5z">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_sort_factor">
    <title>optimizer_sort_factor</title>
    <body>
      <p>When GPORCA is enabled (the default), <codeph>optimizer_sort_factor</codeph> controls the
        cost factor to apply to sorting operations during query optimization. The default value
          <codeph>1</codeph> specifies the default sort cost factor. The value is a ratio of
        increase or decrease from the default factor. For example, a value of <codeph>2.0</codeph>
        sets the cost factor at twice the default, and a value of <codeph>0.5</codeph> sets the
        factor at half the default.</p>
      <p>The parameter can be set for a database system, an individual database, or a session or
        query.</p>
      <table id="table_mrv_z1m_zx">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Decimal > 0</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_use_gpdb_allocators">
    <title>optimizer_use_gpdb_allocators</title>
    <body>
      <p>When GPORCA is enabled (the default) and this parameter is <codeph>true</codeph> (the
        default), GPORCA uses Greenplum Database memory management when running queries. When set
        to <codeph>false</codeph>, GPORCA uses GPORCA-specific memory management. Greenplum Database
        memory management allows for faster optimization, reduced memory usage during optimization,
        and improves GPORCA support of vmem limits when compared to GPORCA-specific memory
        management.</p>
      <p>For information about GPORCA, see <xref
          href="../../admin_guide/query/topics/query-piv-optimizer.html" scope="external"
          format="html">About GPORCA</xref><ph
          otherprops="op-print"> in the <cite>Greenplum Database Administrator Guide</cite></ph>. </p>
      <table id="table_xlm_qxh_gjb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="optimizer_xform_bind_threshold">
    <title>optimizer_xform_bind_threshold</title>
    <body>
      <p>When GPORCA is enabled (the default), this parameter controls the maximum number of
        bindings per transform that GPORCA produces per group expression. Setting this
        parameter limits the number of alternatives that GPORCA creates, in many cases
        reducing the optimization time and overall memory usage of queries that include
        deeply nested expressions.</p>
      <p>The default value is <codeph>0</codeph>, GPORCA produces an unlimited set of bindings.</p>
      <table id="table_oxbt">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - INT_MAX</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="password_encryption">
    <title>password_encryption</title>
    <body>
      <p>When a password is specified in <cmdname>CREATE USER</cmdname> or <cmdname>ALTER
          USER</cmdname> without writing either <cmdname>ENCRYPTED</cmdname> or
          <cmdname>UNENCRYPTED</cmdname>, this option determines whether the password is to be
        encrypted. </p>
      <table id="password_encryption_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="password_hash_algorithm">
    <title>password_hash_algorithm</title>
    <body>
      <p>Specifies the cryptographic hash algorithm that is used when storing an encrypted Greenplum
        Database user password. The default algorithm is MD5.</p>
      <p>For information about setting the password hash algorithm to protect user passwords, see
        "Protecting Passwords in Greenplum Database" in the <cite>Greenplum Database Administrator
          Guide</cite>.</p>
      <table id="password_encryption_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">MD5<p>SHA-256</p></entry>
              <entry colname="col2">MD5</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="plan_cache_mode">
    <title>plan_cache_mode</title>
    <body>
      <p>Prepared statements (either explicitly prepared or implicitly generated, for example by
        PL/pgSQL) can be run using <i>custom</i> or <i>generic</i> plans. Custom plans are
        created for each execution using its specific set of parameter values, while generic plans
        do not rely on the parameter values and can be re-used across executions. The use of a
        generic plan saves planning time, but if the ideal plan depends strongly on the parameter
        values, then a generic plan might be inefficient. The choice between these options is
        normally made automatically, but it can be overridden by setting the
          <codeph>plan_cache_mode</codeph> parameter. If the prepared statement has no parameters, a
        generic plan is always used.</p>
      <p>The allowed values are <codeph>auto</codeph> (the default),
          <codeph>force_custom_plan</codeph> and <codeph>force_generic_plan</codeph>. This setting
        is considered when a cached plan is to be run, not when it is prepared. For more
        information see <codeph><xref href="../sql_commands/PREPARE.xml"/></codeph>.</p>
      <p>The parameter can be set for a database system, an individual database, a session, or a
        query.</p>
      <table id="table_ekc_xrq_zkb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">auto<p>force_custom_plan</p><p>force_generic_plan</p></entry>
              <entry colname="col2">auto</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="pljava_classpath">
    <title>pljava_classpath</title>
    <body>
      <p>A colon (<codeph>:</codeph>) separated list of jar files or directories containing jar
        files needed for PL/Java functions. The full path to the jar file or directory must be
        specified, except the path can be omitted for jar files in the
          <codeph>$GPHOME/lib/postgresql/java</codeph> directory. The jar files must be installed in
        the same locations on all Greenplum hosts and readable by the <codeph>gpadmin</codeph>
        user.</p>
      <p>The <codeph>pljava_classpath</codeph> parameter is used to assemble the PL/Java classpath
        at the beginning of each user session. Jar files added after a session has started are not
        available to that session.</p>
      <p>If the full path to a jar file is specified in <codeph>pljava_classpath</codeph> it is
        added to the PL/Java classpath. When a directory is specified, any jar files the directory
        contains are added to the PL/Java classpath. The search does not descend into subdirectories
        of the specified directories. If the name of a jar file is included in
          <codeph>pljava_classpath</codeph> with no path, the jar file must be in the
          <codeph>$GPHOME/lib/postgresql/java</codeph> directory.</p>
      <note>Performance can be affected if there are many directories to search or a large number of
        jar files.</note>
      <p>If <codeph><xref href="#pljava_classpath_insecure" format="dita"
            >pljava_classpath_insecure</xref></codeph> is <codeph>false</codeph>, setting the
          <codeph>pljava_classpath</codeph> parameter requires superuser privilege. Setting the
        classpath in SQL code will fail when the code is run by a user without superuser
        privilege. The <codeph>pljava_classpath</codeph> parameter must have been set previously by
        a superuser or in the <codeph>postgresql.conf</codeph> file. Changing the classpath in the
          <codeph>postgresql.conf</codeph> file requires a reload (<codeph>gpstop -u</codeph>). </p>
      <table id="pljava_classpath_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2"/>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="pljava_classpath_insecure">
    <title>pljava_classpath_insecure</title>
    <body>
      <p>Controls whether the server configuration parameter <codeph><xref href="#pljava_classpath"
            format="dita">pljava_classpath</xref></codeph> can be set by a user without Greenplum
        Database superuser privileges. When <codeph>true</codeph>, <codeph>pljava_classpath</codeph>
        can be set by a regular user. Otherwise, <codeph><xref href="#pljava_classpath"
            format="dita">pljava_classpath</xref></codeph> can be set only by a database superuser.
        The default is <codeph>false</codeph>.</p>
      <note type="warning">Enabling this parameter exposes a security risk by giving
        non-administrator database users the ability to run unauthorized Java methods. </note>
      <table id="table_pmx_yj4_xx">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="pljava_statement_cache_size">
    <title>pljava_statement_cache_size</title>
    <body>
      <p>Sets the size in KB of the JRE MRU (Most Recently Used) cache for prepared statements. </p>
      <table id="pljava_statement_cache_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of kilobytes</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="pljava_release_lingering_savepoints">
    <title>pljava_release_lingering_savepoints</title>
    <body>
      <p>If true, lingering savepoints used in PL/Java functions will be released on function exit.
        If false, savepoints will be rolled back.</p>
      <table id="pljava_release_lingering_savepoints_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="pljava_vmoptions">
    <title>pljava_vmoptions</title>
    <body>
      <p>Defines the startup options for the Java VM. The default value is an empty string ("").</p>
      <table id="pljava_vmoptions_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2"/>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="port">
    <title>port</title>
    <body>
      <p>The database listener port for a Greenplum instance. The master and each segment has its
        own port. Port numbers for the Greenplum system must also be changed in the
          <codeph>gp_segment_configuration</codeph> catalog. You must shut down your Greenplum
        Database system before changing port numbers.</p>
      <table id="port_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">any valid port number</entry>
              <entry colname="col2">5432</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="quote_all_identifiers">
    <title>quote_all_identifiers</title>
    <body>
      <p>Ensures that all identifiers are quoted, even if they are not keywords, when the database
        generates SQL. See also the <codeph>--quote-all-identifiers</codeph> option of <codeph><xref
            href="../../utility_guide/ref/pg_dump.xml"/></codeph> and <codeph><xref
            href="../../utility_guide/ref/pg_dumpall.xml"/></codeph>.</p>
      <table id="table_umd_ds4_brb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">false</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="random_page_cost">
    <title>random_page_cost</title>
    <body>
      <p>Sets the estimate of the cost of a nonsequentially fetched disk page for the Postgres
        Planner. This is measured as a multiple of the cost of a sequential page fetch.
        A higher value makes it more likely a sequential scan will be used, a lower value makes it
        more likely an index scan will be used.</p>
      <table id="random_page_cost_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">100</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="readable_external_table_timeout">
    <title>readable_external_table_timeout</title>
    <body>
      <p>When an SQL query reads from an external table, the parameter value specifies the amount of
        time in seconds that Greenplum Database waits before cancelling the query when data stops
        being returned from the external table. </p>
      <p>The default value of 0, specifies no time out. Greenplum Database does not cancel the
        query. </p>
      <p>If queries that use gpfdist run a long time and then return the error "intermittent network
        connectivity issues", you can specify a value for readable_external_table_timeout. If no
        data is returned by gpfdist for the specified length of time, Greenplum Database cancels the
        query.</p>
      <table id="readable_external_table_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt;= 0</entry>
              <entry colname="col2"> 0</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="repl_catchup_within_range">
    <title>repl_catchup_within_range</title>
    <body>
      <p>For Greenplum Database master mirroring, controls updates to the active master. If the
        number of WAL segment files that have not been processed by the <codeph>walsender</codeph>
        exceeds this value, Greenplum Database updates the active master. </p>
      <p>If the number of segment files does not exceed the value, Greenplum Database blocks updates
        to the to allow the <codeph>walsender</codeph> process the files. If all WAL segments have
        been processed, the active master is updated. </p>
      <table id="repl_catchup_within_range_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - 64</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="replication_timeout">
    <title>wal_sender_timeout</title>
    <body>
      <p>For Greenplum Database master mirroring, sets the maximum time in milliseconds that the
          <codeph>walsender</codeph> process on the active master waits for a status message from
        the <codeph>walreceiver</codeph> process on the standby master. If a message is not
        received, the <codeph>walsender</codeph> logs an error message.</p>
      <p>The <xref href="#wal_receiver_status_interval" format="dita"/> controls the interval
        between <codeph>walreceiver</codeph> status messages. </p>
      <table id="replication_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - INT_MAX</entry>
              <entry colname="col2">60000 ms (60 seconds)</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="resource_cleanup_gangs_on_wait">
    <title>resource_cleanup_gangs_on_wait</title>
    <body>
      <note>The <codeph>resource_cleanup_gangs_on_wait</codeph> server configuration parameter is
        enforced only when resource queue-based resource management is active.</note>
      <p>If a statement is submitted through a resource queue, clean up any idle query executor
        worker processes before taking a lock on the resource queue.</p>
      <table id="resource_cleanup_gangs_on_wait_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="resource_select_only">
    <title>resource_select_only</title>
    <body>
      <note>The <codeph>resource_select_only</codeph> server configuration parameter is enforced
        only when resource queue-based resource management is active.</note>
      <p>Sets the types of queries managed by resource queues. If set to on, then
          <codeph>SELECT</codeph>, <codeph>SELECT INTO</codeph>, <codeph>CREATE TABLE AS
          SELECT</codeph>, and <codeph>DECLARE CURSOR</codeph> commands are evaluated. If set to off
          <codeph>INSERT</codeph>, <codeph>UPDATE</codeph>, and <codeph>DELETE</codeph> commands
        will be evaluated as well.</p>
      <table id="resource_select_only_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="runaway_detector_activation_percent">
    <title>runaway_detector_activation_percent</title>
    <body>
      <p>For queries that are managed by resource queues or resource groups, this parameter
        determines when Greenplum Database terminates running queries based on the amount of memory
        the queries are using. A value of 100 disables the automatic termination of queries based on
        the percentage of memory that is utilized.</p>
      <p>Either the resource queue or the resource group management scheme can be active in
        Greenplum Database; both schemes cannot be active at the same time. The server configuration
        parameter <codeph><xref href="#gp_resource_manager"/></codeph> controls which scheme is
        active.</p>
      <p><b>When resource queues are enabled -</b> This parameter sets the percent of utilized
        Greenplum Database vmem memory that triggers the termination of queries. If the percentage
        of vmem memory that is utilized for a Greenplum Database segment exceeds the specified
        value, Greenplum Database terminates queries managed by resource queues based on memory
        usage, starting with the query consuming the largest amount of memory. Queries are
        terminated until the percentage of utilized vmem is below the specified percentage.</p>
      <p>Specify the maximum vmem value for active Greenplum Database segment instances with the
        server configuration parameter <codeph><xref href="#gp_vmem_protect_limit" format="dita"
          /></codeph>.</p>
      <p>For example, if vmem memory is set to 10GB, and this parameter is 90 (90%), Greenplum
        Database starts terminating queries when the utilized vmem memory exceeds 9 GB.</p>
      <p>For information about resource queues, see <xref href="../../admin_guide/workload_mgmt.html" scope="external"
          format="html">Using Resource Queues</xref>.</p>
      <p><b>When resource groups are enabled -</b> This parameter sets the percent of utilized
        resource group global shared memory that triggers the termination of queries that are
        managed by resource groups that are configured to use the <codeph>vmtracker</codeph> memory
        auditor, such as <codeph>admin_group</codeph> and <codeph>default_group</codeph>. For
        information about memory auditors, see <xref
          href="../../admin_guide/workload_mgmt_resgroups.html#topic8339777" scope="external"
          format="html">Memory Auditor</xref>.</p>
      <p>Resource groups have a global shared memory pool when the sum of the
          <codeph>MEMORY_LIMIT</codeph> attribute values configured for all resource groups is less
        than 100. For example, if you have 3 resource groups configured with
          <codeph>memory_limit</codeph> values of 10 , 20, and 30, then global shared memory is 40%
        = 100% - (10% + 20% + 30%). See <xref
          href="../../admin_guide/workload_mgmt_resgroups.html#topic833glob" scope="external"
          format="html">Global Shared Memory</xref>.</p>
      <p>If the percentage of utilized global shared memory exceeds the specified value, Greenplum
        Database terminates queries based on memory usage, selecting from queries managed by the
        resource groups that are configured to use the <codeph>vmtracker</codeph> memory auditor.
        Greenplum Database starts with the query consuming the largest amount of memory. Queries are
        terminated until the percentage of utilized global shared memory is below the specified
        percentage. </p>
      <p>For example, if global shared memory is 10GB, and this parameter is 90 (90%), Greenplum
        Database starts terminating queries when the utilized global shared memory exceeds 9 GB.</p>
      <p>For information about resource groups, see <xref
          href="../../admin_guide/workload_mgmt_resgroups.html" scope="external"
          format="html">Using Resource Groups</xref>.</p>
      <table id="runaway_detector_activation_percent_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">percentage (integer)</entry>
              <entry colname="col2">90</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="search_path">
    <title>search_path</title>
    <body>
      <p>Specifies the order in which schemas are searched when an object is referenced by a simple
        name with no schema component. When there are objects of identical names in different
        schemas, the one found first in the search path is used. The system catalog schema,
          <i>pg_catalog</i>, is always searched, whether it is mentioned in the path or not. When
        objects are created without specifying a particular target schema, they will be placed in
        the first schema listed in the search path. The current effective value of the search path
        can be examined via the SQL function <i>current_schema()</i>. <i>current_schema()</i> shows
        how the requests appearing in <i>search_path</i> were resolved.</p>
      <table id="search_path_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">a comma-separated list of schema names</entry>
              <entry colname="col2">$user,public</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="seq_page_cost">
    <title>seq_page_cost</title>
    <body>
      <p>For the Postgres Planner, sets the estimate of the cost of a disk page
        fetch that is part of a series of sequential fetches. </p>
      <table id="seq_page_cost_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">floating point</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="server_encoding">
    <title>server_encoding</title>
    <body>
      <p>Reports the database encoding (character set). It is determined when the Greenplum Database
        array is initialized. Ordinarily, clients need only be concerned with the value of
          <i>client_encoding</i>. </p>
      <table id="server_encoding_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">&lt;system dependent&gt;</entry>
              <entry colname="col2">UTF8</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="server_version">
    <title>server_version</title>
    <body>
      <p>Reports the version of PostgreSQL that this release of Greenplum Database is based on. </p>
      <table id="server_version_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2">9.4.20</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="server_version_num">
    <title>server_version_num</title>
    <body>
      <p>Reports the version of PostgreSQL that this release of Greenplum Database is based on as an
        integer.</p>
      <table id="server_version_num_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">90420</entry>
              <entry colname="col3">read only</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="shared_buffers">
    <title>shared_buffers</title>
    <body>
      <p>Sets the amount of memory a Greenplum Database segment instance uses for shared memory
        buffers. This setting must be at least 128KB and at least 16KB times <codeph><xref
            href="#max_connections" type="section">max_connections</xref></codeph>. </p>
      <p>Each Greenplum Database segment instance calculates and attempts to allocate certain amount
        of shared memory based on the segment configuration. The value of
          <codeph>shared_buffers</codeph> is significant portion of this shared memory calculation,
        but is not all it. When setting <codeph>shared_buffers</codeph>, the values for the
        operating system parameters <codeph>SHMMAX</codeph> or <codeph>SHMALL</codeph> might also
        need to be adjusted.</p>
      <p>The operating system parameter <codeph>SHMMAX</codeph> specifies maximum size of a single
        shared memory allocation. The value of <codeph>SHMMAX</codeph> must be greater than this
        value:<codeblock> <codeph>shared_buffers</codeph> + <varname>other_seg_shmem</varname></codeblock>The
        value of <varname>other_seg_shmem</varname> is the portion the Greenplum Database shared
        memory calculation that is not accounted for by the <codeph>shared_buffers</codeph> value.
        The <varname>other_seg_shmem</varname> value will vary based on the segment configuration. </p>
      <p>With the default Greenplum Database parameter values, the value for
          <varname>other_seg_shmem</varname> is approximately 111MB for Greenplum Database segments
        and approximately 79MB for the Greenplum Database master. </p>
      <p>The operating system parameter <codeph>SHMALL</codeph> specifies the maximum amount of
        shared memory on the host. The value of <codeph>SHMALL</codeph> must be greater than this
        value:<codeblock> (<varname>num_instances_per_host</varname> * ( <codeph>shared_buffers</codeph> + <varname>other_seg_shmem</varname> )) + <varname>other_app_shared_mem</varname> </codeblock>The
        value of <varname>other_app_shared_mem</varname> is the amount of shared memory that is used
        by other applications and processes on the host. </p>
      <p>When shared memory allocation errors occur, possible ways to resolve shared memory
        allocation issues are to increase <codeph>SHMMAX</codeph> or <codeph>SHMALL</codeph>, or
        decrease <codeph>shared_buffers</codeph> or <codeph>max_connections</codeph>.</p>
      <p>See the <cite>Greenplum Database Installation Guide</cite> for information about the
        Greenplum Database values for the parameters <codeph>SHMMAX</codeph> and
          <codeph>SHMALL</codeph>. </p>
      <table id="shared_buffers_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 16K * <i>max_connections </i></entry>
              <entry colname="col2">125MB</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="shared_preload_libraries">
    <title>shared_preload_libraries</title>
    <body>
      <p>A comma-separated list of shared libraries that are to be preloaded at server start.
        PostgreSQL procedural language libraries can be preloaded in this way, typically by using
        the syntax '<codeph>$libdir/pl<varname>XXX</varname></codeph>' where <varname>XXX</varname>
        is pgsql, perl, tcl, or python. By preloading a shared library, the library startup time is
        avoided when the library is first used. If a specified library is not found, the server will
        fail to start.</p>
      <note>When you add a library to <codeph>shared_preload_libraries</codeph>, be sure to
        retain any previous setting of the parameter.</note>
      <table id="shared_preload_libraries_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1"/>
              <entry colname="col2"/>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="ssl">
    <title>ssl</title>
    <body>
      <p>Enables SSL connections. </p>
      <table id="ssl_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="ssl_ciphers">
    <title>ssl_ciphers</title>
    <body>
      <p>Specifies a list of SSL ciphers that are allowed to be used on secure connections.
          <codeph>ssl_ciphers</codeph>
        <i>overrides</i> any ciphers string specified in <codeph>/etc/openssl.cnf</codeph>. The
        default value <codeph>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</codeph> enables all ciphers except
        for ADH, LOW, EXP, and MD5 ciphers, and prioritizes ciphers by their strength. </p>
      <note>With TLS 1.2 some ciphers in MEDIUM and HIGH strength still use NULL encryption (no
        encryption for transport), which the default <codeph>ssl_ciphers</codeph> string allows. To
        bypass NULL ciphers with TLS 1.2 use a string such as
        <codeph>TLSv1.2:!eNULL:!aNULL</codeph>.</note>
      <p>See the openssl manual page for a list of supported ciphers.</p>
      <table id="ssl_ciphers_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2">ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</entry>
              <entry colname="col3">master<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="standard_conforming_strings">
    <title>standard_conforming_strings</title>
    <body>
      <p>Determines whether ordinary string literals ('...') treat backslashes literally, as
        specified in the SQL standard. The default value is on. Turn this parameter off to treat
        backslashes in string literals as escape characters instead of literal backslashes.
        Applications may check this parameter to determine how string literals are processed. The
        presence of this parameter can also be taken as an indication that the escape string syntax
        (E'...') is supported.</p>
      <table id="standard_conforming_strings_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="statement_mem">
    <title>statement_mem</title>
    <body>
      <p>Allocates segment host memory per query. The amount of memory allocated with this parameter
        cannot exceed <codeph><xref href="#max_statement_mem" format="dita"/></codeph> or the memory
        limit on the resource queue or resource group through which the query was submitted.
        If additional memory is required for a query, temporary spill files on disk are used.</p>
      <p><i>If you are using resource groups to control resource allocation in your Greenplum
        Database cluster</i>:</p><ul>
        <li>Greenplum Database uses <codeph>statement_mem</codeph> to control query memory
          usage when the resource group <codeph>MEMORY_SPILL_RATIO</codeph> is set to 0.</li>
        <li>You can use the following calculation to estimate a reasonable <codeph>statement_mem</codeph>
          value:
          <codeblock>rg_perseg_mem = ((RAM * (vm.overcommit_ratio / 100) + SWAP) * gp_resource_group_memory_limit) / num_active_primary_segments
statement_mem = rg_perseg_mem / max_expected_concurrent_queries</codeblock></li>
      </ul>

      <p><i>If you are using resource queues to control resource allocation in your Greenplum
        Database cluster</i>:</p><ul>
        <li> When <codeph><xref href="#gp_resqueue_memory_policy" format="dita"/> =auto</codeph>,
          <codeph>statement_mem</codeph> and resource queue memory limits control query memory
        usage. </li>
        <li>You can use the following calculation to estimate a reasonable <codeph>statement_mem</codeph>
          value for a wide variety of situations:
          <codeblock>( <varname>gp_vmem_protect_limit</varname>GB * .9 ) / <varname>max_expected_concurrent_queries</varname></codeblock>
          <p>For example, with a <varname>gp_vmem_protect_limit</varname> set to 8192MB (8GB)
            and assuming a maximum of 40 concurrent queries with a 10% buffer, you would use
            the following calculation to determine the <codeph>statement_mem</codeph> value:</p>
          <codeblock>(8GB * .9) / 40 = .18GB = 184MB</codeblock></li>
      </ul>
      <p>When changing both <codeph>max_statement_mem</codeph> and <codeph>statement_mem</codeph>,
          <codeph>max_statement_mem</codeph> must be changed first, or listed first in the
          <systemoutput>postgresql.conf</systemoutput> file.</p>
      <table id="statement_mem_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of kilobytes</entry>
              <entry colname="col2">128MB</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="statement_timeout">
    <title>statement_timeout</title>
    <body>
      <p>Abort any statement that takes over the specified number of milliseconds. 0 turns off the
        limitation. </p>
      <table id="statement_timeout_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of milliseconds</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="stats_queue_level">
    <title>stats_queue_level</title>
    <body>
      <note>The <codeph>stats_queue_level</codeph> server configuration parameter is enforced only
        when resource queue-based resource management is active.</note>
      <p>Collects resource queue statistics on database activity.</p>
      <table id="stats_queue_level_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="superuser_reserved_connections">
    <title>superuser_reserved_connections</title>
    <body>
      <p>Determines the number of connection slots that are reserved for Greenplum Database
        superusers.</p>
      <table id="superuser_reserved_connections_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &lt; <i>max_connections</i></entry>
              <entry colname="col2">3</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="tcp_keepalives_count">
    <title>tcp_keepalives_count</title>
    <body>
      <p>How many keepalives may be lost before the connection is considered dead. A value of 0 uses
        the system default. If TCP_KEEPCNT is not supported, this parameter must be 0. </p>
      <p>Use this parameter for all connections that are not between a primary and mirror
        segment.</p>
      <table id="tcp_keepalives_count_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of lost keepalives</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="tcp_keepalives_idle">
    <title>tcp_keepalives_idle</title>
    <body>
      <p>Number of seconds between sending keepalives on an otherwise idle connection. A value of 0
        uses the system default. If TCP_KEEPIDLE is not supported, this parameter must be 0.</p>
      <p>Use this parameter for all connections that are not between a primary and mirror
        segment.</p>
      <table id="tcp_keepalives_idle_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of seconds</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="tcp_keepalives_interval">
    <title>tcp_keepalives_interval</title>
    <body>
      <p>How many seconds to wait for a response to a keepalive before retransmitting. A value of 0
        uses the system default. If TCP_KEEPINTVL is not supported, this parameter must be 0.</p>
      <p>Use this parameter for all connections that are not between a primary and mirror
        segment.</p>
      <table id="tcp_keepalives_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">number of seconds</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="temp_buffers">
    <title>temp_buffers</title>
    <body>
      <p>Sets the maximum memory, in blocks, to allow for temporary buffers by each database
        session. These are session-local buffers used only for access to temporary tables. The
        setting can be changed within individual sessions, but only up until the first use of
        temporary tables within a session. The cost of setting a large value in sessions that do not
        actually need a lot of temporary buffers is only a buffer descriptor for each block, or
        about 64 bytes, per increment. However if a buffer is actually used, an additional 32768
        bytes will be consumed.</p>
      <p>You can set this parameter to the number of 32K blocks (for example, <codeph>1024</codeph>
        to allow 32MB for buffers), or specify the maximum amount of memory to allow (for example
          <codeph>'48MB'</codeph> for 1536 blocks). The <codeph>gpconfig</codeph> utility and
          <codeph>SHOW</codeph> command report the maximum amount of memory allowed for temporary
        buffers.</p>
      <table id="temp_buffers_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">1024 (32MB)</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="topic_k52_fqm_f3b">
    <title>temp_tablespaces</title>
    <body>
      <p>Specifies tablespaces in which to create temporary objects (temp tables and indexes on temp
        tables) when a <codeph>CREATE</codeph> command does not explicitly specify a tablespace.
        These tablespaces can also include temporary files for purposes such as large data set sorting. </p>
      
      <p>The value is a comma-separated list of tablespace names. When the list contains more than
        one tablespace name, Greenplum chooses a random list member each time it creates a temporary
        object. An exception applies within a transaction, where successively created temporary
        objects are placed in successive tablespaces from the list. If the selected element of the
        list is an empty string, Greenplum automatically uses the default tablespace of the current
        database instead.</p>
      
      <p>When setting <codeph>temp_tablespaces</codeph> interactively, avoid specifying a
        nonexistent tablespace, or a tablespace for which the user does have <codeph>CREATE</codeph>
        privileges. For non-superusers, a superuser must <codeph>GRANT</codeph> them the
          <codeph>CREATE</codeph> privilege on the temp tablespace.. When using a previously set
        value (for example a value in <codeph>postgresql.conf</codeph>), nonexistent tablespaces are
        ignored, as are tablespaces for which the user lacks <codeph>CREATE</codeph> privilege. </p>
      <p>The default value is an empty string, which results in all temporary objects being created
        in the default tablespace of the current database.</p>
      <p>See also <xref href="#default_tablespace" format="dita"/>.</p>
      <table id="table_l52_fqm_f3b">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">one or more tablespace names</entry>
              <entry colname="col2">unset</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="TimeZone">
    <title>TimeZone</title>
    <body>
      <p>Sets the time zone for displaying and interpreting time stamps. The default is to use
        whatever the system environment specifies as the time zone. See <xref
          href="https://www.postgresql.org/docs/9.4/datetime-keywords.html" scope="external"
          format="html"><ph>Date/Time Keywords</ph></xref> in the PostgreSQL documentation.</p>
      <table id="TimeZone_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">time zone abbreviation</entry>
              <entry colname="col2"/>
              <entry colname="col3">local<p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="timezone_abbreviations">
    <title>timezone_abbreviations</title>
    <body>
      <p>Sets the collection of time zone abbreviations that will be accepted by the server for date
        time input. The default is <codeph>Default</codeph>, which is a collection that works in
        most of the world. <codeph>Australia</codeph> and <codeph>India</codeph>, and other
        collections can be defined for a particular installation. Possible values are names of
        configuration files stored in <codeph>$GPHOME/share/postgresql/timezonesets/</codeph>. </p>
      <p>To configure Greenplum Database to use a custom collection of timezones, copy the file that
        contains the timezone definitions to the directory
          <codeph>$GPHOME/share/postgresql/timezonesets/</codeph> on the Greenplum Database master
        and segment hosts. Then set value of the server configuration parameter
          <codeph>timezone_abbreviations</codeph> to the file. For example, to use a file
          <codeph>custom</codeph> that contains the default timezones and the WIB (Waktu Indonesia
        Barat) timezone. </p>
      <ol id="ol_u51_pdb_rr">
        <li>Copy the file <codeph>Default</codeph> from the directory
            <codeph>$GPHOME/share/postgresql/timezonesets/</codeph> the file
          <codeph>custom</codeph>. Add the WIB timezone information from the file
            <codeph>Asia.txt</codeph> to the <codeph>custom</codeph>. </li>
        <li>Copy the file <codeph>custom</codeph> to the directory
            <codeph>$GPHOME/share/postgresql/timezonesets/</codeph> on the Greenplum Database master
          and segment hosts.</li>
        <li>Set value of the server configuration parameter <codeph>timezone_abbreviations</codeph>
          to <codeph>custom</codeph>.</li>
        <li>Reload the server configuration file (<codeph>gpstop -u</codeph>).</li>
      </ol>
      <table id="timezone_abbreviations_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">string</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="track_activities">
    <title>track_activities</title>
    <body>
      <p>Enables the collection of information on the currently executing command of each session,
        along with the time when that command began execution. The default value is
          <codeph>true</codeph>. Only superusers can change this setting. See the <codeph><xref
            href="../system_catalogs/pg_stat_activity.xml">pg_stat_activity</xref></codeph>
        view.</p>
      <note>Even when enabled, this information is not visible to all users, only to superusers and
        the user owning the session being reported on, so it should not represent a security risk. </note>
      <table id="table_f1l_fwm_vlb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="track_activity_query_size">
    <title>track_activity_query_size</title>
    <body>
      <p>Sets the maximum length limit for the query text stored in <codeph>query</codeph> column of
        the system catalog view <i>pg_stat_activity</i>. The minimum length is 1024 characters. </p>
      <table id="track_activity_query_size_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">1024</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="track_counts">
    <title>track_counts</title>
    <body>
      <p>Enables the collection of information on the currently executing command of each session,
        along with the time at which that command began execution.</p>
      <table id="table_e5c_fwm_vlb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="transaction_isolation">
    <title>transaction_isolation</title>
    <body>
      <p>Sets the current transaction's isolation level.</p>
      <table id="transaction_isolation_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">read committed<p>serializable</p></entry>
              <entry colname="col2">read committed</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="transaction_read_only">
    <title>transaction_read_only</title>
    <body>
      <p>Sets the current transaction's read-only status.</p>
      <table id="transaction_read_only_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="transform_null_equals">
    <title>transform_null_equals</title>
    <body>
      <p>When on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL,
        that is, they return true if expr evaluates to the null value, and false otherwise. The
        correct SQL-spec-compliant behavior of expr = NULL is to always return null (unknown).</p>
      <table id="transform_null_equals_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="unix_socket_directory">
    <title>unix_socket_directories</title>
    <body>
      <p>Specifies the directory of the UNIX-domain socket on which the server is to listen for
        connections from client applications. Multiple sockets can be created by listing multiple
        directories separated by commas. </p>
      <note type="important">Do not change the value of this parameter. The default location is
        required for Greenplum Database utilities.</note>
      <table id="unix_socket_directory_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">directory path</entry>
              <entry colname="col2">0777</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="unix_socket_group">
    <title>unix_socket_group</title>
    <body>
      <p>Sets the owning group of the UNIX-domain socket. By default this is an empty string, which
        uses the default group for the current user. </p>
      <table id="unix_socket_group_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">UNIX group name</entry>
              <entry colname="col2">unset</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="unix_socket_permissions">
    <title>unix_socket_permissions</title>
    <body>
      <p>Sets the access permissions of the UNIX-domain socket. UNIX-domain sockets use the usual
        UNIX file system permission set. Note that for a UNIX-domain socket, only write permission
        matters.</p>
      <table id="unix_socket_permissions_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">numeric UNIX file permission mode (as accepted by the
                  <i>chmod</i> or <i>umask</i> commands)</entry>
              <entry colname="col2">0777</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="update_process_title">
    <title>update_process_title</title>
    <body>
      <p>Enables updating of the process title every time a new SQL command is received by the
        server. The process title is typically viewed by the <codeph>ps</codeph> command.</p>
      <table id="update_process_title_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">on</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_cost_delay">
    <title>vacuum_cost_delay</title>
    <body>
      <p>The length of time that the process will sleep when the cost limit has been exceeded. 0
        disables the cost-based vacuum delay feature.</p>
      <table id="vacuum_cost_delay_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">milliseconds &lt; 0 (in multiples of 10)</entry>
              <entry colname="col2">0</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_cost_limit">
    <title>vacuum_cost_limit</title>
    <body>
      <p>The accumulated cost that will cause the vacuuming process to sleep.</p>
      <table id="vacuum_cost_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">200</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_cost_page_dirty">
    <title>vacuum_cost_page_dirty</title>
    <body>
      <p>The estimated cost charged when vacuum modifies a block that was previously clean. It
        represents the extra I/O required to flush the dirty block out to disk again.</p>
      <table id="vacuum_cost_page_dirty_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">20</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_cost_page_hit">
    <title>vacuum_cost_page_hit</title>
    <body>
      <p>The estimated cost for vacuuming a buffer found in the shared buffer cache. It represents
        the cost to lock the buffer pool, lookup the shared hash table and scan the content of the
        page.</p>
      <table id="vacuum_cost_page_hit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">1</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_cost_page_miss">
    <title>vacuum_cost_page_miss</title>
    <body>
      <p>The estimated cost for vacuuming a buffer that has to be read from disk. This represents
        the effort to lock the buffer pool, lookup the shared hash table, read the desired block in
        from the disk and scan its content.</p>
      <table id="vacuum_cost_page_miss_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer &gt; 0</entry>
              <entry colname="col2">10</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vacuum_freeze_min_age">
    <title>vacuum_freeze_min_age</title>
    <body>
      <p>Specifies the cutoff age (in transactions) that <codeph>VACUUM</codeph> should use to
        decide whether to replace transaction IDs with <i>FrozenXID</i> while scanning a table.</p>
      <p>For information about <codeph>VACUUM</codeph> and transaction ID management, see "Managing
        Data" in the <cite>Greenplum Database Administrator Guide</cite> and the <xref
          href="https://www.postgresql.org/docs/9.4/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND"
          scope="external" format="html">PostgreSQL documentation</xref>.</p>
      <table id="vacuum_freeze_min_age_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 0-100000000000</entry>
              <entry colname="col2">50000000</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="validate_previous_free_tid">
    <title>validate_previous_free_tid</title>
    <body>
      <p>Enables a test that validates the free tuple ID (TID) list. The list is maintained and used
        by Greenplum Database. Greenplum Database determines the validity of the free TID list by
        ensuring the previous free TID of the current free tuple is a valid free tuple. The default
        value is <codeph>true</codeph>, enable the test.</p>
      <p>If Greenplum Database detects a corruption in the free TID list, the free TID list is
        rebuilt, a warning is logged, and a warning is returned by queries for which the check
        failed. Greenplum Database attempts to run the queries. </p>
      <note otherprops="pivotal">If a warning is returned, please contact VMware Support.</note>
      <table id="table_fkc_4pb_1w">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="verify_gpfdists_cert">
    <title>verify_gpfdists_cert</title>
    <body>
      <p dir="ltr">When a Greenplum Database external table is defined with the
          <codeph>gpfdists</codeph> protocol to use SSL security, this parameter controls whether
        SSL certificate authentication is enabled. The default is <codeph>true</codeph>, SSL
        authentication is enabled when Greenplum Database communicates with the
          <codeph>gpfdist</codeph> utility to either read data from or write data to an external
        data source.</p>
      <p>The value <codeph>false</codeph> disables SSL certificate authentication. These SSL
        exceptions are ignored:<ul id="ul_ygd_1lj_mdb">
          <li>The self-signed SSL certificate that is used by <codeph>gpfdist</codeph> is not
            trusted by Greenplum Database.</li>
          <li>The host name contained in the SSL certificate does not match the host name that is
            running <codeph>gpfdist</codeph>.</li>
        </ul></p>
      <p>You can set the value to <codeph>false</codeph> to disable authentication when testing the
        communication between the Greenplum Database external table and the <codeph>gpfdist</codeph>
        utility that is serving the external data.
        <note type="warning">Disabling SSL certificate authentication exposes a security risk by not
          validating the <codeph>gpfdists</codeph> SSL certificate. </note></p>
      <p>For information about the <codeph>gpfdists</codeph> protocol, see <xref
          href="../../admin_guide/external/g-gpfdists-protocol.html" scope="external"
          format="html">gpfdists:// Protocol</xref>. For
        information about running the <codeph>gpfdist</codeph> utility, see <xref
          href="../../utility_guide/ref/gpfdist.xml"/>. </p>
      <table id="table_ncx_n1h_ldb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">true</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="vmem_process_interrupt">
    <title>vmem_process_interrupt</title>
    <body>
      <p>Enables checking for interrupts before reserving vmem memory for a query during Greenplum
        Database query execution. Before reserving further vmem for a query, check if the current
        session for the query has a pending query cancellation or other pending interrupts. This
        ensures more responsive interrupt processing, including query cancellation requests. The
        default is <codeph>off</codeph>.</p>
      <table id="table_rtz_lyb_tx">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">Boolean</entry>
              <entry colname="col2">off</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="wait_for_replication_threshold">
    <title>wait_for_replication_threshold</title>
    <body>
      <p>When Greenplum Database segment mirroring is enabled, specifies the maximum amount of
        Write-Ahead Logging (WAL)-based records (in KB) written by a transaction on the primary
        segment instance before the records are written to the mirror segment instance for
        replication. As the default, Greenplum Database writes the records to the mirror segment
        instance when a checkpoint occurs or the <codeph>wait_for_replication_threshold</codeph>
        value is reached. </p>
      <p>A value of 0 disables the check for the amount of records. The records are written to the
        mirror segment instance only after a checkpoint occurs.</p>
      <p>If you set the value to 0, database performance issues might occur under heavy loads that
        perform long transactions that do not perform a checkpoint operation.</p>
      <table id="table_mw3_krz_hkb">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">0 - MAX-INT / 1024</entry>
              <entry colname="col2">1024</entry>
              <entry colname="col3">master<p>system</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="wal_keep_segments">
    <title>wal_keep_segments</title>
    <body>
      <p>For Greenplum Database master mirroring, sets the maximum number of processed WAL segment
        files that are saved by the by the active Greenplum Database master if a checkpoint
        operation occurs.</p>
      <p>The segment files are used to synchronize the active master on the standby master. </p>
      <table id="wal_keep_segments_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer</entry>
              <entry colname="col2">5</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="wal_receiver_status_interval">
    <title>wal_receiver_status_interval</title>
    <body>
      <p>For Greenplum Database master mirroring, sets the interval in seconds between
          <codeph>walreceiver</codeph> process status messages that are sent to the active master.
        Under heavy loads, the time might be longer. </p>
      <p>The value of <xref href="#replication_timeout" format="dita"/> controls the time that the
          <codeph>walsender</codeph> process waits for a <codeph>walreceiver</codeph> message.</p>
      <table id="wal_receiver_status_interval_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 0- INT_MAX/1000</entry>
              <entry colname="col2">10 sec</entry>
              <entry colname="col3">master<p>system</p><p>reload</p><p>superuser</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="writable_external_table_bufsize">
    <title>writable_external_table_bufsize</title>
    <body>
      <p>Size of the buffer that Greenplum Database uses for network communication, such as the
          <codeph>gpfdist</codeph> utility and external web tables (that use http). Valid units are
          <codeph>KB</codeph> (as in <codeph>128KB</codeph>), <codeph>MB</codeph>,
          <codeph>GB</codeph>, and <codeph>TB</codeph>. Greenplum Database stores data in the buffer
        before writing the data out. For information about <codeph>gpfdist</codeph>, see the
          <cite>Greenplum Database Utility Guide</cite>.</p>
      <table id="table_writable_external_table_bufsize">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 32 - 131072 (32KB - 128MB)</entry>
              <entry colname="col2">64</entry>
              <entry colname="col3">local<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="xid_stop_limit">
    <title>xid_stop_limit</title>
    <body>
      <p>The number of transaction IDs prior to the ID where transaction ID wraparound occurs. When
        this limit is reached, Greenplum Database stops creating new transactions to avoid data loss
        due to transaction ID wraparound. </p>
      <table id="xid_stop_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 10000000 - INT_MAX</entry>
              <entry colname="col2">100000000</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="xid_warn_limit">
    <title>xid_warn_limit</title>
    <body>
      <p>The number of transaction IDs prior to the limit specified by <xref href="#xid_stop_limit"
          format="dita"/>. When Greenplum Database reaches this limit, it issues a warning to
        perform a VACUUM operation to avoid data loss due to transaction ID wraparound. </p>
      <table id="xid_warn_limit_table">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">integer 10000000 - INT_MAX</entry>
              <entry colname="col2">500000000</entry>
              <entry colname="col3">local<p>system</p><p>restart</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="xmlbinary">
    <title>xmlbinary</title>
    <body>
      <p>Specifies how binary values are encoded in XML data. For example, when
          <codeph>bytea</codeph> values are converted to XML. The binary data can be converted to
        either base64 encoding or hexadecimal encoding. The default is base64.</p>
      <p>The parameter can be set for a database system, an individual database, or a session.</p>
      <table id="table_ph4_5qk_pz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">base64<p>hex</p></entry>
              <entry colname="col2">base64</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
  <topic id="xmloption">
    <title> xmloption</title>
    <body>
      <p>Specifies whether XML data is to be considered as an XML document
          (<codeph>document</codeph>) or XML content fragment (<codeph>content</codeph>) for
        operations that perform implicit parsing and serialization. The default is
          <codeph>content</codeph>. </p>
      <p>This parameter affects the validation performed by <codeph>xml_is_well_formed()</codeph>.
        If the value is <codeph>document</codeph>, the function checks for a well-formed XML
        document. If the value is <codeph>content</codeph>, the function checks for a well-formed
        XML content fragment.</p>
      <note>An XML document that contains a document type declaration (DTD) is not considered a
        valid XML content fragment. If <codeph>xmloption</codeph> set to <codeph>content</codeph>,
        XML that contains a DTD is not considered valid XML.<p>To cast a character string that
          contains a DTD to the <codeph>xml</codeph> data type, use the <codeph>xmlparse</codeph>
          function with the <codeph>document</codeph> keyword, or change the
            <codeph>xmloption</codeph> value to <codeph>document</codeph>.</p></note>
      <p>The parameter can be set for a database system, an individual database, or a session. The
        SQL command to set this option for a session is also available in Greenplum Database.
        <codeblock>SET XML OPTION { DOCUMENT | CONTENT }</codeblock></p>
      <table id="table_iwq_5qk_pz">
        <tgroup cols="3">
          <colspec colnum="1" colname="col1" colwidth="1*"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <colspec colnum="3" colname="col3" colwidth="1*"/>
          <thead>
            <row>
              <entry colname="col1">Value Range</entry>
              <entry colname="col2">Default</entry>
              <entry colname="col3">Set Classifications</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="col1">document<p>content</p></entry>
              <entry colname="col2">content</entry>
              <entry colname="col3">master<p>session</p><p>reload</p></entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </body>
  </topic>
</topic>
